繁体   English   中英

如何在git中覆盖另一个分支的分支

[英]How can overwrite the branch from another branch in git

我有feature分支,然后是master分支。

我将feature复制到feature1 ,将主副本复制到master1

然后我

git checkout master1
git merge feature1
# Resolved all conflicts and commited

然后我去了

git checkout master
git rebase master1

然后我又向大师提交了1次提交来解决问题

现在,我拥有自己喜欢的主分支,但我无法推动它。 所以理想情况下,我想在以前的feature分支上使用这个新的master分支代码

这样我以前的所有提交都在那里,我可以像以前一样继续提交

在此处输入图片说明

所以在图片顶部42bb是我的主人HEAD

底部161a是我的功能分支。

我希望我的功能分支HEAD42bb或者是功能分支上的新提交,等于42bb提交

我这样做了,但不确定是否正确

git reset --hard master我的功能分支上的git reset --hard master

我希望我的特征分支HEAD为42bb

git checkout feature 
# standard warning about reset --hard being working directory unsafe 
git reset --hard HEAD

可能是功能分支上的新提交,等于42bb提交

这有点复杂。

git commit-tree -p feature -m "commit msg" 42bb^{tree}

这将创建一个以161a为父项的提交,其树内容为42bb。 您需要使用git update-ref更新功能分支以指向返回的SHA

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM