我有两个分支,我正在将branch1合并到branch2中,但没有快进。如何显示与Git中没有快进合并的文件?
合并后,我运行命令'git show',我只收到提交的消息(这是从不快进的合并),没有更改的列表文件。
如何获取合并中更改的列表文件?
解决:
当在合并后BRANCH2,我用了以下内容:
git diff HEAD~
返回了正确的结果。
我有两个分支,我正在将branch1合并到branch2中,但没有快进。如何显示与Git中没有快进合并的文件?
合并后,我运行命令'git show',我只收到提交的消息(这是从不快进的合并),没有更改的列表文件。
如何获取合并中更改的列表文件?
解决:
当在合并后BRANCH2,我用了以下内容:
git diff HEAD~
返回了正确的结果。
当branch2合并后,我使用以下内容:
git diff HEAD~
返回正确的结果。
你试过git whatchanged
命令吗? (未测试):
git whatchanged --oneline
或
git whatchanged --oneline ..HEAD^
git whatchanged --oneline ..HEAD^2
--oneline
这是一起用于 “
--pretty=oneline --abbrev-commit
” 的简写。我需要的是看到branch1中合并到branch2的所有文件。
branch2
这里可以用HEAD^2
表示,HEAD的第二个父母。
至于“只是文件列表”:
git diff --name-status ..HEAD^2
应该给你只是一个与他们相关联的状态文件的列表。
合并后,检查git reflog
的输出,该输出用于跟踪分支提示的位置。第一行应该是你的合并提交,第二行应该是合并之前的branch2
。如果看起来正确的,你可以从输出先前提交的时候可以被称为[email protected]{1}
的第二列中看到,所以看到哪些文件被合并改变了,你可以这样做:
git diff --stat [email protected]{1}
让我更接近,但branch1有多个提交。如何获得所有提交的差异? – chafnan 2010-07-14 15:53:13
所以你希望看到'branch1'和'branch2'中的所有文件从发生分歧到合并时都发生了变化?如果是这样,并假设您的分支仍然在合并提交,我想你可以用'git diff --stat $(git merge-base HEAD^1 HEAD^2) – 2010-07-15 07:23:37
我认为以下两个答案都表明很难准确解释你所要求的内容 - 它可能有助于添加一个ASCII艺术提交图,显示你想查看哪些提交之间的差异。 – 2010-07-15 07:52:38
不要像上面那样添加求解,而要为自己的问题添加一个答案。你不会得到有趣的接受点,但至少人们会知道你的意图和你找到的答案。 – 2010-08-27 14:35:23