Ken*_*awa 8 git diff merge commit
说我有,
A topic
/ \
D---E---F master
Run Code Online (Sandbox Code Playgroud)
通过这样做,我可以很容易地得到DE的差异
git diff D..E --name-status
Run Code Online (Sandbox Code Playgroud)
和EF,EA一样.
提交F是一个合并提交,并说它有冲突.通过修改foo.bar解决了这个问题.foo.bar被添加了git,然后提交了合并提交.合并冲突得到了解决.
现在foo.bar的更改仅存在于commit F中.如何获得该差异?
有没有办法获得在合并提交中唯一引入的文件差异?
git show合并提交将显示不在其任何父项中的更改.例如:
$ echo 123 > file1.txt
$ git add file1.txt
$ git commit -am '123'
$ git checkout -b test
$ echo 1234 > file1.txt
$ git commit -am '1234'
$ git checkout HEAD~ -b test2
$ echo 0123 > file1.txt
$ git commit -am '0123'
$ git merge test
$ echo 01234 > file1.txt
$ git add file1.txt
$ git commit -am 'Merge test'
$ git show
commit f056a1c91d76c8dfce60a03122494dce92c1e161
Merge: 489f1d3 fcfd2bc
Date: Fri Jul 15 20:30:17 2011 -0500
Merge test
diff --cc file1.txt
index 40381e2,81c545e..3521a84
--- a/file1.txt
+++ b/file1.txt
@@@ -1,1 -1,1 +1,1 @@@
- 0123
-1234
++01234
Run Code Online (Sandbox Code Playgroud)