add
- git add 将文件添加到暂存区,无论文件是否已被跟踪
- git add -u 将工作区被修改过且被git跟踪的文件添加到暂存区
rm
- 如果文件已在文件系统中被删除,但仍在git仓库被跟踪,用git rm接触git跟踪
- git rm --cached 移除被git跟踪但仍保留文件系统中的文件
- git rm -f 移除被git跟踪在文件系统中也删除文件
mv
- git mv 将文件系统的文件执行mv命令并且将结果同步到git
commit
- git commit -m 将暂存区的文件提交到本地仓库
- git commit -am 将工作区的修改添加到暂存区并且提交到本地仓库(= git add + git commit)
reset
- git reset --hard 删除暂存区和工作区的所有未提交的文件
log
- git log 查看当前分支历史记录
- git log --oneline 查看当前分支历史简洁输出(每个历史记录一行)
- git log -nXXX 只查看当前分支最近的XXX条历史记录
- git log --all 查看所有分支的历史记录
- git log --all --graph 查看树形结构所有分支的历史记录
branch
- git branch 查看分支
- git branch -v 查看分支详细信息
- git branch -vv 查看分支详细且显示上游分支名字
- git branch -a 查看所有本地及远端的分支
- git branch -av 查看所有本地及远端的分支详细信息
- git branch -avv 查看所有本地及远端的分支详细信息且显示上游分支名字
checkout
- git checkout -b [新的本地分支名] [远程仓库名/分支名] 创建一个分支并且检出
config
- git config --list 列出所有git配置
- git config --list --local 列出当前用户当前仓库git配置
- git config --list --global 列出当前用户git配置
- git config --list --system 列出系统git配置
- git config (--local/--global/--system) XXX 'xxx' 设置git(--local/--global/--system级别)配置XXX的值为xxx
- git config --global gui.encoding utf-8 设置gitk的编码字符集
diff
- git diff 对比工作区与暂存区
- git diff -- xxx 对比工作区与暂存区中的xxx文件
- git diff --cached 对比HEAD与暂存区
- git diff HEAD HEAD^ 对比HEAD与HEAD的上一个
- git diff HEAD HEAD^^ 对比HEAD与HEAD的上上个
- git diff HEAD HEAD~xxx 对比HEAD与HEAD的上xxx个
- git diff HEAD commitId 对比HEAD与某个commit
- git diff commitId1 commitId2 对比两个commit
cat-file
- git cat-file -t XXX 查看id为xxx的git对象的类型
- git cat-file -p XXX 查看id为xxx的git对象的内容