git将NOT当前分支推到remote

2ledvvac  于 2023-02-14  发布在  Git
关注(0)|答案(3)|浏览(156)

在gitbarerepository中有没有办法推送一个现在不在HEAD中的分支?
例如,我有两个分支:

$ git branch
* master
  another

我有两个遥控器originanother
我需要能够从another推到another/another只是在一个命令,而不改变头部。

rqmkfv5c

rqmkfv5c1#

所有这些“另一个另一个”在原来的问题,答案和大量的评论是如此混乱(这是一个完美的例子,为什么重要的是命名你的东西摆在首位),我不能不帮助(双关语无意)写另一个答案如下。
Q:在git(bare)仓库中有没有办法推送一个在HEAD中not的分支?例如,我有两个分支和两个远程分支,我需要在不改变HEAD的情况下,只使用一个命令就可以从feature推送到upstream/feature

$ git branch
* master
  feature
$ git remote
origin
upstream

答:执行git push remote_name分支_name,在上面的例子中,它看起来是这样的。

$ git push upstream feature

Q:是不是意味着会把本地的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为这个答案提供素材。)

v64noz0r

v64noz0r2#

使用git push可以指定远程和本地

git push remotename branchname
fv2wmkja

fv2wmkja3#

当我尝试使用--set-upstream-u)为远程新分支执行push a时

git push MyLocalBranch -u origin MyLocalBranch

而我没有 checkout 分支,我收到了错误

fatal: 'MyLocalBranch' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

感谢注解git将NOT当前分支推到远程
是的。(第二个)另一个是refspec,它(一般)有src:dst的格式。这意味着将本地分支src推送到远程分支dst。如果省略:dst,本地分支src将被推送到远程分支src。
Lars Noschinski开始,我认为解决方案是调用

git push -u origin MyLocalBranch:MyLocalBranch

相关问题