如何在git中合并两个分支,只保留来自一个分支的更改
我有两个分支。一个是如何在git中合并两个分支,只保留来自一个分支的更改,git,Git,我有两个分支。一个是master,另一个是imyBranch,它们看起来像这样: master | | myBranch | / | / |/ | 我想将它们合并到一个分支中,保留master分支中的所有更改,而不保留myBranch中的任何内容 $ git checkout -b new-branch $ git merge -s ours myBranch 如果希望直接在master上执行此操作,只需省略第一个命令即可 PS:“user481516
master
,另一个是imyBranch
,它们看起来像这样:
master
|
| myBranch
| /
| /
|/
|
我想将它们合并到一个分支中,保留master
分支中的所有更改,而不保留myBranch
中的任何内容
$ git checkout -b new-branch
$ git merge -s ours myBranch
如果希望直接在master
上执行此操作,只需省略第一个命令即可
PS:“user4815162342”是对的,我的意思是-s
而不是-X
只需删除分支:
git分支-d“myBranch”
使用ours
合并策略合并分支:
git checkout -b new-branch master
git merge -s ours myBranch
请注意,这与Koraktor的回答中最初所述的
-X ours
大不相同-X ours
是递归
策略的一个选项,该策略仍将保留myBranch
的所有更改,但在发生冲突时更倾向于使用master的解决方案<代码>-s我们的,另一方面,完全忽略了myBranch
引入的更改,我想我知道你的意思,-我也遇到了同样的问题,但从你写问题的方式来看,答案似乎是“保留master并扔掉myBranch”…这听起来像是保留主分支
并删除我的分支
。如果您不想更改我的分支
为什么要进行合并
?是的,我想保留主分支
,但我不想删除我的分支
,因为我正在为另一个项目使用同一分支(这是个愚蠢的想法,对吧?)听起来你想先为myBranch
创建一个新的回购协议,然后从该回购协议中删除myBranch
?
$ git checkout -b new-branch
$ git merge -s ours myBranch