合并,但不要合并

时间:2018-04-10 22:07:43

标签: git

我从master那里分支出来,在项目中进行了大量的目录更改和文件移动。

在我分支后,另一位开发人员在其分支上的原始位置的一个文件中添加了一个单元测试,并合并回主人。

如果我尝试从master合并到我的分支再返回,基本上每个文件都移动了,所以它会弄得一团糟。

我想做的是告诉git将master合并到我的分支机构,但只能在簿记中执行。保留文件的状态与它在我的分支中的完全相同。然后让我手动添加添加的单元测试中的差异,然后合并回master。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

https://blogs.msdn.microsoft.com/oldnewthing/20180316-00/?p=98255

  

您可以使用-s ours git merge选项来表示您不希望合并中的代码更改;你这样做只是为了记账。

答案 1 :(得分:0)

如果有关添加的单元测试的更改位于单个提交中(例如,使用SHA1 1234567),您可以尝试执行以下操作:

git checkout your-branch
git cherry-pick 1234567
# which might raise some conflict to solve
# then
git checkout master
git merge your-branch

有关详细信息,请参阅git cherry-pick的文档。

答案 2 :(得分:0)

假设:

  • 您已将更改提交(并已发布)到您的分支
  • 您已从主
  • 获取和/或撤消更改

您可以简单地将master上的分支重新命名为:

  • 获取他们所做的更改
  • 重新应用您所做的更改,包括移动文件


git fetch
git checkout my-work-branch
git rebase origin/master

这将使您在该点合并更改。你将不得不"合并"在任何一种情况下,这是确保他们的工作正确地进入代码的最干净的方法。