如何将 origin/master 移动到新分支?

3

我之前成功地在主分支中获取了一些实验性功能,并将其推送到origin。但是我的本地主分支并没有这些实验功能,因此我将强制推送它。我不希望失去这些实验性更改,所以有没有办法在将本地主分支推送到origin之前,将origin/master(或复制它)移动到一个新的分支?

2个回答

6
git checkout origin/master
git branch -b master_with_experiments
git push origin master -f

您可以使用 git cherry-pick <sha1> 命令将这些提交挑选到另一个分支,然后强制推送到主分支。

或者进行交互式变基并重新排列提交。


1
“-b” 不是有效的选项,这是打错了吗?git ref - Daniel
1
@Daniel,我猜应该是 git checkout -b。是的,那明显是个打字错误。 - madhead

1
可以使用git branch experimental master将您当前的主分支保存到本地分支。然后将主分支还原到所需状态并将其推送到服务器。最后,当您想与他人共享实验性分支时,也使用git push origin experimental将其推送。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接