阐述
在实际工作中,文件差异的比较是经常会碰到的,今天就来总结一下git diff命令的使用。
使用场景
当我们上线一个分支时,往往会碰到要和master分支做比较的情况,需要确认分支所提交的修改是否属于都自己的,会不会把别人的修改一起提交上去,这个时候就要以master分支为参照,比较自己分支和master分支之间的差异。我们还可能会碰到,为了确认某次的线上Bug,需要对比历史提交的版本和当前版本之间的差异。
如何比较不同分支之间的文件差异
git diff master dev
上面的命令是以master分支为参照,比较dev分支和master分支之间的差异。注意改变分支的比较顺序,结果会不同,默认不加文件名参数,会比较出所有文件的差异。 比较指定文件的差异可以参照如下命令:
git diff master dev — READMD.md index.php
实际Git在设计上,用了一个指针来指向当前分支所在commit对象,master分支实际上为一个指针,在不分离头指针的情况下,它指向的是最新一次提交的commit对象,dev分支也是。 所以把命令git diff master dev替换成git diff fde17e9 4700e4a也是一样的效果,使用git log命令就能查看当前master分支和dev分支所指向的commit id。 commit i