Git让我疯了,如何基于现有的非主分支创建新的远程分支?

时间:2010-06-08 16:35:49

标签: git

我确信这样做很简单,但是我已经学过很多教程而无法解决这个问题。

我目前在遥控器上有两个分支。本地机器:

master
*search_refactor

我们想创建一个名为design_refactor的新远程分支,并让这个新分支中的代码(最初)成为search_refactor分支中代码的克隆。

所有这一切背后的目的是我想在search_refactor分支上尝试一些想法,与其他人分享这些想法,但不要修改search_refactor分支。

我们当前版本的git是1.6.5

谢谢!

1 个答案:

答案 0 :(得分:2)

要在遥控器上创建一个新分支,您可以通过推送到新参考来创建它。 E.g。

git push origin search_refactor:refs/heads/design_refactor

这会将本地search_refactor分支的状态推送为新的远程design_refactor分支。

IIRC您需要refs/heads绕过安全检查,即git需要分支已经存在,或者您要推送匹配的命名本地分支。

如果您想使用远程 search_refactor分支的状态,而无需在本地search_refactor分支中进行任何更改,则可以使用:

git push origin origin/search_refactor:refs/heads/design_refactor

完成此操作后,您可以根据远程分支检出新的本地分支。

git checkout -b design_refactor origin/design_refactor

(简单地说,我假设您的主遥控器被称为origin。)