我没有删除分支的权限。我的情况最容易用插图来描述。假设主干线提交被称为M1,M2,......并且分支提交被称为B1,B2等等
M1 - M2 - M3 - M4 - M5
\
B1 - B2
我需要撤消提交B1和B2,然后实际上让M4的分支(带有新的提交),所以像这样:
M1 - M2 - M3 - M4 - M5
\
Bnew1 - Bnew2
同样,我实际上不能删除分支,它需要保持相同的名称。我真的不在乎是否废弃了分支'B'的历史。此外,假设所有内容都已被推送。我该怎么做?
答案 0 :(得分:3)
您可以结帐分支B并执行git rebase。
git checkout B
git rebase M4
其中M4是提交M4的SHA。
这应该将您的分支移动到新的基础。 虽然如果你已经推动了分支B,并且你仍然做了一些改变,那么如果你只是一个贡献者,或者如果你是一个团队工作者,那么就做好一些工作的准备。