将编辑后的文件引入Git个分支然后合并
Introducing Edited Files Into a Git Branch and then merging
我遇到的情况是这样的。
我在解决方案中有一个旧项目,我将调用 Old Project A
和 Old Solution A
。它是主项目和解决方案的一个不同分支(只是用于开发的 SVN 的副本)。这是在 SVN Tortoise 中。我的计算机上有此 Old Project A
和 Old Solution A
的副本。
然后我们把我们的解决方案和项目的主线放到Git。 Git.
中发生了很多发展并且有很多提交
所以我现在 Git Solution A
中有 Git Project A
。
我想将 Old Project A
引入到 Git 存储库的一个分支中。
我所做的是创建了 2 个新分支,我称之为 NewBranch A
和 NewBranch B
,它们都来自主分支。
从 NewBranch B
我删除了 Git Project A
并将其替换为 Old Project A
,提交了所有修改的文件但没有提交所有已删除的文件(已添加到较新的文件中Git Project A
).
git checkout NewBranch B
git merge NewBranch A
但这只是保留了Old Project A
代码,并没有合并Git Project B
。我当然期待合并冲突。我希望他们手动整理它们。但我得到的只是 Old Project A
代码。
如何将 Old Project A
代码与 Git Project B
代码合并,然后手动对冲突进行排序?
根据您的情况,我可以看到 2 个选项。
- 只需使用 Meld 或其他合并工具在新分支上手动合并即可。这样比较可控。
但如果你坚持使用git,
- 从 master 分支的第一个 git 提交创建 NewBranch,而不是从最新的 master。在那里复制所有旧代码并提交。现在将最新的 master 合并到 NewBranch。这应该会如您所料触发冲突,您可以手动解决冲突。
我遇到的情况是这样的。
我在解决方案中有一个旧项目,我将调用 Old Project A
和 Old Solution A
。它是主项目和解决方案的一个不同分支(只是用于开发的 SVN 的副本)。这是在 SVN Tortoise 中。我的计算机上有此 Old Project A
和 Old Solution A
的副本。
然后我们把我们的解决方案和项目的主线放到Git。 Git.
中发生了很多发展并且有很多提交所以我现在 Git Solution A
中有 Git Project A
。
我想将 Old Project A
引入到 Git 存储库的一个分支中。
我所做的是创建了 2 个新分支,我称之为 NewBranch A
和 NewBranch B
,它们都来自主分支。
从 NewBranch B
我删除了 Git Project A
并将其替换为 Old Project A
,提交了所有修改的文件但没有提交所有已删除的文件(已添加到较新的文件中Git Project A
).
git checkout NewBranch B
git merge NewBranch A
但这只是保留了Old Project A
代码,并没有合并Git Project B
。我当然期待合并冲突。我希望他们手动整理它们。但我得到的只是 Old Project A
代码。
如何将 Old Project A
代码与 Git Project B
代码合并,然后手动对冲突进行排序?
根据您的情况,我可以看到 2 个选项。
- 只需使用 Meld 或其他合并工具在新分支上手动合并即可。这样比较可控。
但如果你坚持使用git,
- 从 master 分支的第一个 git 提交创建 NewBranch,而不是从最新的 master。在那里复制所有旧代码并提交。现在将最新的 master 合并到 NewBranch。这应该会如您所料触发冲突,您可以手动解决冲突。