如何在git中合并不同的分支

4jb9z9bj  于 2023-04-10  发布在  Git
关注(0)|答案(4)|浏览(146)

一切都在分支上。
我们做了些改变。但没用。
我们返回了三次提交,并创建了一个分支来测试另一个想法。
这招奏效了
现在我们希望分支成为主分支。
我想我们会合并它们,但是我们不需要master上的三个提交中的任何东西。如何继续?

ufj5ltwl

ufj5ltwl1#

只需在master分支上执行硬重置到另一个分支:

# from master
git reset --hard other

或者,如果你知道other分支头部的SHA-1哈希值,你也可以硬重置为:

# from master
git reset --hard 1a2b3c4d
mepcadol

mepcadol2#

git checkout master
git reset --hard @~3
git rebase <new branch that works>

HTH

nuypyhwy

nuypyhwy3#

如果你想从版本控制历史中清除你失败的尝试,使用this solution。但是如果你想保留提交历史,或者你不能强制推送到master分支,你可以做以下操作,这将为revertmerge创建一个额外的提交:

git checkout master 
git revert HEAD~3 
git merge your_other_branch
7vux5j2d

7vux5j2d4#

您需要编辑合并策略

git checkout new_branch
git merge --strategy=recursive -Xours master
git checkout master
git merge new_branch

或者,您可以从master分支回滚更改,然后将新分支的基础设置为master。
编辑:要添加到最后一条语句,命令如下:

git checkout master
git revert HEAD~3
git rebase new_branch

相关问题