<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示当前分支的版本历史
<span style="color: #ff0000">$ git <span class="hljs-built_in"><span class="hljs-built_in">log
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示commit历史,以及每次commit发生变更的文件
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token operator">--<span class="hljs-built_in"><span class="hljs-built_in">stat
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 搜索提交历史,根据关键词
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token operator">-S <span class="token punctuation">[keyword<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示某个commit之后的所有变动,每个commit占据一行
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token punctuation">[tag<span class="token punctuation">] HEAD <span class="token operator">--pretty<span class="token operator">=format<span class="token punctuation">:<span class="token operator">%s
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token punctuation">[tag<span class="token punctuation">] HEAD <span class="token operator">--grep feature
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示某个文件的版本历史,包括文件改名
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token operator">--follow <span class="token punctuation">[file<span class="token punctuation">]
$ git whatchanged <span class="token punctuation">[file<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示指定文件相关的每一次diff
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token operator">-p <span class="token punctuation">[file<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示过去5次提交
$ git <span class="hljs-built_in"><span class="hljs-built_in">log <span class="token operator">-<span class="token number">5 <span class="token operator">--pretty <span class="token operator">--oneline
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示所有提交过的用户,按提交次数排序
$ git shortlog <span class="token operator">-sn
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示指定文件是什么人在什么时间修改过
$ git blame <span class="token punctuation">[file<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示暂存区和工作区的<span class="hljs-comment"><span class="hljs-comment">代码<span class="hljs-comment"><span class="hljs-comment">差异
<span style="color: #ff0000">$ git diff
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示暂存区和上一个commit的差异
$ git diff <span class="token operator">--cached <span class="token punctuation">[file<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示两次提交之间的差异
$ git diff <span class="token punctuation">[first<span class="token operator">-branch<span class="token punctuation">]<span class="token punctuation">.<span class="token punctuation">.<span class="token punctuation">.<span class="token punctuation">[second<span class="token operator">-branch<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示今天你写了多少行代码
$ git diff <span class="token operator">--shortstat <span class="token string"><span class="hljs-string"><span class="hljs-string">"@{0 day ago}"
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示某次提交的元数据和内容变化
<span style="color: #ff0000">$ git show <span class="token punctuation"><span style="color: #ff0000">[commit<span class="token punctuation"><span style="color: #ff0000">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示某次提交发生变化的文件
$ git show <span class="token operator">--name<span class="token operator">-only <span class="token punctuation">[commit<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示某次提交时,某个文件的内容
$ git show <span class="token punctuation">[commit<span class="token punctuation">]<span class="token punctuation">:<span class="token punctuation">[filename<span class="token punctuation">]
<span class="token comment"><span class="hljs-comment"><span class="hljs-comment"># 显示当前分支的最近几次提交
$ git reflog<span class="hljs-comment"><span class="hljs-comment"># 从本地master拉取代码更新当前分支:branch 一般为master<span style="color: #ff0000"><span class="hljs-comment"><span class="hljs-comment">$ git rebase [branch]