我们现在处于这样一种情况: master 分支有新的功能需求,而 feature1 分支(从 master 分支分离出来)是主分支中稳定的版本。我们该如何调整它们的位置?也就是说,让 feature1 成为主分支,而 master 成为newfeaturebranch?
我找到了一些类似的 SO 问题,但在那些情况下,他们不再关心旧的 master 提交记录。而在这里,我们想保留当前的 master 分支作为新的 newfeaturebranch。
我想到了一种方法:
- 从当前的 master 分支创建newfeaturebranch。
- 将 master 分支回滚/删除到 feature1 分支的分叉点。
- 将 feature1 分支合并到 master 分支。
- 删除 feature1 分支。
newfeaturebranch
是一个全新的分支名称,远程仓库中还不存在,这也应该可以工作。只有在您想要更新已经“删除”提交的分支时,您需要使用git push -f
强制推送它。 - pokenewfeaturebranch
分支了吗? - rubo77git reset --hard origin/master
可以通过扔掉其他所有内容来重置到远程的主分支(因此,如果您有本地更改,您可能需要在单独的分支中备份这些更改)。 - poke