如何在git中合并两个分支,只保留来自一个分支的更改

如何在git中合并两个分支,只保留来自一个分支的更改,git,Git,我有两个分支。一个是master,另一个是imyBranch,它们看起来像这样: master | | myBranch | / | / |/ | 我想将它们合并到一个分支中,保留master分支中的所有更改,而不保留myBranch中的任何内容 $ git checkout -b new-branch $ git merge -s ours myBranch 如果希望直接在master上执行此操作,只需省略第一个命令即可 PS:“user481516

我有两个分支。一个是
master
,另一个是i
myBranch
,它们看起来像这样:

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