将最近的提交重新定位到另一个分支

时间:2015-11-12 20:25:16

标签: git

我创建了一个分支但我忘了切换到这个分支(menu)。我在master上完成了所有提交。如何将这两个分支(master与新分支menu)交换?我错误地在master做了所有提交。

1 个答案:

答案 0 :(得分:0)

只需交换分支名称即可。 (我希望你还没有推动这些提交!)

使用master了解应该在menu分支上的git log上的第一次提交。例如,假设它是提交abcdef

然后,git checkout abcdef^ -b new-master在第一次提交到新分支new-master之前签出提交。

然后,使用mastermenunew-master分支重命名为master,将git branch -m master menu分支重命名为git branch -m new-master master

更新

再次阅读您的帖子,我认为您的menu分支已经在master的最后一次良好提交中。因此,您所要做的就是重命名分支名称。 这是因为,如果你git checkout menu,你会发现自己回到了“错误”之前的那一刻。提交了。

在这种情况下,您无法将master重命名为menu,因为该分支已存在,因此您必须使用临时分支名称:

git branch -m master whoops
git branch -m menu master
git branch -m whoops menu