【发布时间】:2016-06-27 09:49:06
【问题描述】:
我是 Git 和 GitHub 的新手,并试图为一个项目做出贡献,所以我做了一个 fork。该项目包含大量包含文件的文件夹,而我唯一做的就是添加两个文件夹,其中包含一些文件并修改一个文件。过了一会儿,我想跟上原来的主人,并按照https://help.github.com/articles/syncing-a-fork/ 中的建议从上游合并 - 所以我做了一个git merge upstream/master。这为我的 fork 的 master 带来了很多变化。
现在,几个月后我决定再次同步我的 fork 并再次执行 git merge upstream/master。这给我带来了 10 次冲突,这些冲突都在文件中,我自己没有碰过。当然我可以尝试手动合并它们,但我想了解,这是怎么回事,这样我就不会破坏其他人的工作。
问题:
为什么这些冲突发生在从上游开始的第二次合并时?
我能否以某种方式将我的 fork 的底部更改为最顶部(这就是 rebase 的作用吗?)
如何找出两个冲突版本的“更改路径”(它们来自哪里?)
如果有帮助,下面是我所说的分叉:https://github.com/0815fox/DefinitelyTyped
【问题讨论】:
-
很难说冲突的原因是什么,但这意味着要么你从上游拉取最后一次就已经提交,要么上游的历史被重写,或者两者兼而有之。