我一个月前从主分支分支出来,然后开始进行一个大型项目的开发。最后将分支合并回主分支时,如预期一样发生了合并冲突,我解决了这些冲突并提交了合并请求。现在几天过去了,我正在测试一些代码,发现主分支上的某些更改不见了。问题是:我的冲突解决有误吗?还是Git自动合并了那个更改?换句话说,在Git中是否有一种方法可以查看合并提交并知道哪些文件存在冲突以及它们是如何被解决的?
(我可以撤销合并提交并重新执行,但会有很多冲突需要再次解决...那是我的唯一选择吗?)
|
+ <-------------------------+ Merge back to master
| |
+ -- Change that got lost +
| |
+-------------------------> + My branch
|
master
git show merge-commit-id
对我来说不起作用。我正在使用带有Git的Visual Studio Team Explorer。我可以清楚地看到合并提交中代码已丢失(以红色显示),但我不知道它是冲突解决还是自动Git合并。我提问的原因是因为我在主分支上有许多其他更改,我想确保它们仍然存在。谢谢。(我可以撤销合并提交并重新执行,但会有很多冲突需要再次解决...那是我的唯一选择吗?)
git log --remerge-diff
可以帮助您并显示过去合并决策中所做的更改!请参见我对另一个问题的回答。 - VonC