git 裸存储库中有没有办法推送现在不在HEAD中的分支?
例如,我有两个分支:
$ git branch
* master
another
我有两个遥控器:origin
和another
。
我需要能够在一个命令中从another
推送到another/another
而无需更改HEAD。
答案 0 :(得分:32)
所有这些"另一个"另一个"在最初的问题中,答案和许多评论都是如此令人困惑(这是为什么一开始就把事情命名为正确的重要原因的一个完美例子),我无法帮助(惩罚不打算)写下另一个答案如下。
问:在git(裸)存储库中是否有办法在HEAD中推送不的分支?例如,我有两个分支和两个遥控器。我需要能够在一个命令中从feature
推送到upstream/feature
而无需更改HEAD。
$ git branch
* master
feature
$ git remote
origin
upstream
答:这样做。
$ git push upstream feature
问:这是否意味着它会将本地feature
推送到upstream/feature
?我一直以为它会将当前的HEAD推到upstream/feature
。
答:是的。 feature
部分是 refspec ,通常具有src:dst
形式。这意味着将本地分支src
推送到远程分支dst
。如果省略:dst
,则将本地分支src
推送到远程分支src
。您也可以将其他名称指定为远程分支。只是做:
$ git push upstream feature:cool_new_feature
(感谢@ gabriele-petronella和@alexkey提供此答案的材料。)
答案 1 :(得分:23)
使用git push
,您可以指定远程和本地
git push remotename branchname