【发布时间】:2015-02-27 02:47:01
【问题描述】:
假设有一个功能分支,我们将其称为分支A。
分支A 包含三个文件,A1 (index.html)、A2 (main.css) 和 A3 (script.js)。
从分支A,创建/签出分支B,提供B1、B2 和B3。
现在,假设 B1 - B3 的所有内容被完全删除并且编写了完全不同的代码,然后提交到分支 B。
假设分支B的所有文件的新代码最终都需要作为它的子集集成到原始代码中。
我希望能够通过检查分支A 并运行git merge B 来实现B 代码与A 代码的集成。我认为这会给我带来合并冲突,我可以制作新版本的A1 - A3 以提交到分支A。
然而,Git 并没有产生预期的合并冲突,而是将所有 A 代码完全替换为 B 代码。
这两个分支的代码如何整合?
我意识到可以从B 文件中复制代码并将其传递到A 文件的代码中,所有这些都在Git 之外。不过,我认为这是一个不太理想的解决方案,因为项目历史不会反映 A 的某些代码来自 B 的事实。
【问题讨论】:
-
我遇到了几乎完全相同(虽然不那么严重)的问题。很遗憾没有人回答这个问题,因为解决方案真的很有用。也许如果我问一个没有可能阐明的分支的问题。