例如有两个分支master
和func
master
分支创建文件masterfile.md
,两次修改此文件,并提交两次。
func
分支增加文件funcfile.md
,三次修改此文件,并提交三次。然后对masterfile.md
进行修改,提交第四次。
然后切换回master
分支,修改masterfile.md
,提交第三次。
1. 比较分支文件
git diff master func --stat
显示出所有有差异的文件列表
git diff master func -- 文件名(含路径)
显示指定文件的详细差异,注意路径前需要前后带空格的双分隔号--
间隔
git diff master func
显示出所有有差异的文件的详细差异
1.1 git diff master func --stat
显示出所有有差异的文件列表
结果:
1.2 git diff master func -- 文件名(含路径)
显示指定文件的详细差异,注意路径前需要前后带空格的双分隔号--
间隔
比如:
git diff master func -- ./masterfile.md
结果:
1.3 git diff master func
显示出所有有差异的文件的详细差异
2. 比较分支提交
git log ^master func
git log master..func
git log func --not master
---- 以上三个等效,显示func
中有,master
没有的提交
git log ^func master
git log func..master
git log master --not func
---- 以上三个等效,显示master
中有,func
没有的提交
git log func...master
---- 单纯想知道两个分支提交有什么不一样
git log --left-right func...master
----左右模式详细显示两个分支提交有什么不一样
2.1 git log func ^master
显示func
中有,master
没有的提交
2.2 git log master ^func
显示master
中有,func
没有的提交
2.3 git log func...master
单纯想知道两个分支提交有什么不一样
2.4 git log --left-right func...master
左右模式详细显示两个分支提交有什么不一样
注意:commit
后面的左右尖括号分别对应...
左右的分支。
参考文献: