Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的源代码在一个 mercurial 存储库中,而主分支已从 mercurial 移动到 git 存储库。当前的 git master 分支头和我的 mercurial 版本有冲突。git master 是作为一个新的 repo 创建的,而不是从原始的 mercurial repo 派生的。如何将我的修改与主分支的修改合并?
如果我从 master 创建一个新分支,用我的 mercurial 源覆盖源并将其与 master 合并,git 不会检测到冲突(我想是因为我们没有共同的祖先版本)
我不认为它会。如果您从 master创建一个新分支,那么您实际上有一个共同的祖先,而这个共同的祖先实际上就是 master 本身。这意味着合并结果实际上是您的新分支,因为它是来自 master 的快进。
如果您要创建一个没有历史记录(或与 master 没有关系)的新分支,那么您将得到您期望的合并冲突。您可以创建一个新的孤立分支:
git checkout --orphan new_branch
然后从mercurial 复制您的源代码,您将能够与 master 合并。两个分支之间不相同的任何文件都将被标记为冲突。