Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 合并,但不要';t合并_Git - Fatal编程技术网

Git 合并,但不要';t合并

Git 合并,但不要';t合并,git,Git,我从master分支,在一个项目中进行了大量的目录更改和文件移动 在我分支之后,另一个开发人员在分支的原始位置向其中一个文件添加了一个单元测试,并合并回master 如果我试图从主文件合并到我的分支,然后再合并回来,基本上每个文件都已移动,所以它会造成混乱 我想做的是告诉git将master合并到我的分支,但只在簿记中进行。保留文件在我的分支中的状态。然后,让我手动添加与添加的单元测试的差异,并合并回master 我该怎么做 您可以使用-s ours选项来git merge,以指示您不希望从合并

我从master分支,在一个项目中进行了大量的目录更改和文件移动

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

如果我试图从主文件合并到我的分支,然后再合并回来,基本上每个文件都已移动,所以它会造成混乱

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

我该怎么做

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


如果有关添加的单元测试的更改发生在一次提交中(例如,使用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
有关更多信息,请参阅的文档。

假设:

  • 您已将更改提交(并发布)到分支机构
  • 您已从主服务器获取和/或拉取更改
您只需在master上重新设置分支的基础,即可:

  • 得到他们所做的改变
  • 重新应用所做的更改,包括移动文件

git fetch
git checkout my-work-branch
git rebase origin/master
这将导致您在此时合并中的更改。在这两种情况下,您都必须“合并”,但这是确保他们的工作正确地融入代码的最干净的方法