git简单使用
设置git自己的名字和电子邮件(注意git config
命令的–global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置)
git config --global user.email <Email>
git config --global user.name <name>
看查配置
git config -l
检查代理设置
git config --get http.proxy
git config --get https.proxy
取消git配置的代理
git config --global --unset http.proxy
git config --global --unset https.proxy
设置系统代理
git config --global http.proxy http://127.0.0.1:7890
git config --global -l # 检查是否设置成功
以下内容均来源于MIT公开课实机演示
基础
git help <command>
: 获取git命令的帮助信息git init
: 创建一个新的git仓库,其数据会存放在一个名为.git
的目录下git status
: 显示当前仓库的状态git commit
: 创建一个新的提交git log
: 显示历史日志git log --all --graph --decorate
: 可视化历史记录(有向无环图)git log --all --graph -- decorate --oneline
: 更紧凑的显示历史记录git cat-file -p <hash>
: 获取对于这个HASH值的详细信息git checkout <revison>
: 更新HEAD和目前的分支git diff <filename>
: 显示与暂存区文件的差异git diff <version> <filename>
: 显示某个文件两个版本之间的差异git diff <version1> <version2> <filename>
: 显示从版本1到版本2某个文件发生的改变
分支和合并
git branch
: 显示分支git branch <name>
: 创建分支git checkout -b <name>
: 创建并切换到该分支- 相当于
git branch <name>; git checkout <name>
- 相当于
git merge <revision>
: 合并到当前分支git mergetool
: 使用工具来处理合并冲突git rebase
: 将一系列补丁变基(rebase)为新的基线
远端操作
git remote
: 列出远端git remote add <name> <url>
: 添加一个远端git push <remote> <local branch>:<remote branch>
: 将对象传送至远端并更新远端引用git clone <url> <folder name>
: 从远端下载仓库git branch --set-upstream-to=<remote>/<remote branch>
: 创建本地和远端分支的关联关系git fetch
: 从远端获取对象/索引git pull
: 相当于git fetch; git merge
撤销
git commit --amend
: 编辑提交的内容或信息git reset HEAD <file>
: 恢复暂存的文件git checkout -- <file>
: 丢弃修改git restore
: git2.32版本后取代git reset进行许多撤销操作
Git高级操作
git config
: Git是一个高度可定制的工具git config --depth=1
: 浅克隆(shallow clone),不包括完整的版本历史信息git add -p
: 交互式暂存git blame
: 查看最后修改某行的人git stash
: 暂时移除工作目录下的修改内容git bisect
: 通过二分查找搜索历史记录.gitignore
: 指定 故意不追踪的文件