有没有办法在git 裸存储库中推送一个现在不在HEAD中的分支?
例如,我有两个分支:
$ git branch
* master
another
Run Code Online (Sandbox Code Playgroud)
我有两个遥控器设置:origin和another.
我需要能够在不改变HEAD的情况下从一个命令推another送到another/another一个命令.
Ray*_*Luo 36
原始问题中的所有那些"另一个",答案和许多评论都是如此令人困惑(这是一个完美的例子,说明为什么一开始就把你的事情命名为正确),我不禁帮助(双关语)不打算)写下另一个答案如下.
问:git(裸)存储库中有没有办法推送一个现在不在 HEAD中的分支?例如,我有两个分支和两个遥控器.我需要能够在不改变HEAD的情况下从一个命令推feature送到upstream/feature一个命令.
$ git branch
* master
feature
$ git remote
origin
upstream
Run Code Online (Sandbox Code Playgroud)
答:这样做.
$ git push upstream feature
Run Code Online (Sandbox Code Playgroud)
问:这是否意味着,这将推动国内feature对upstream/feature?我一直以为它会推动当前的HEAD upstream/feature.
答:是的.该feature部分是refspec,通常具有该形式src:dst.这意味着将本地分支推src送到远程分支dst.如果:dst省略,则将本地分支src推送到远程分支src.您也可以将其他名称指定为远程分支.做就是了:
$ git push upstream feature:cool_new_feature
Run Code Online (Sandbox Code Playgroud)
(感谢@ gabriele-petronella和@alexkey为这个答案提供材料.)
Gab*_*lla 25
随着git push您可以指定远程和本地
git push remotename branchname
Run Code Online (Sandbox Code Playgroud)