我试着跟着这篇文章走,但很困惑,没有把问题解决。
这里是场景。
我创建了一个类似于git checkout -b 的分支。然后我做了一些改变
江户十一〔一〕号
埃多克斯1〔2〕
现在,所有这些更改都在我未提交的本地分支中。我想做的是把这些变化推向上游,但我想把它推向一个不存在的分支,例如_test。
我不想把它推到我的电脑上。我怎么能这样做呢?
首先,我们注意到,"想"的两git push会让他们上更多的参数和自动供应他们,如果你不。因此,在一git push remote refspec基本命令。
该部分是remote通常微不足道的它的话origin几乎总是准时。该部分是refspectrickier。最常见的,人们的名字写在git push origin master分支,例如。这使用本地的分行支行对推到一名在线远程创建它,如果必要的。但它不是一个公司的名称是"。
特别是,有两refspec冒号分隔的部分。git push时发现,部分是推到在左,右两部分的和明确的名称给远程。该部分在左,在这将是branch_name案例和部分正确的将是branch_name_test在线。例如:
1
| git push origin foo:foo_test |
所有你做的,你可以告诉你的git push推到上游的分支的名称设置在同一时间,通过添加到该git push-u选项。使你的Git的上游设置的名称(或任何的)拯救foo_test名称,这样在未来的git push和支配的,而你在foo分行,可以试着推到foo_test在线远程(远程saves Git也在这个案例,origin,所以你不必。这是指)。
你只需要一通-u:它基本上只是git branch --set-upstream-to打你。(如果你-u再通后再运行,它改变它的上游设置,你可以运行的导向;或git branch --set-upstream-to自己。。。。。。。)
然而,如果你的Git是2.0或更新,你不设置任何特殊的配置,您将运行到同一类的东西,我进入注1:将上述push.default集到simple拒绝,这将推动上游的名称不同,因为从您自己的网站的名称。如果你对upstream集push.default,Git将停止complaining -但只是简的解决方案是将当地的分行,第一,这样的本地和远程的名称相匹配。(是什么)和/或设置集,无论是对你的公司更名,到你)。
把你的remote.remote.push易于控制准确,consults设置到来自上游的refspec的一半。如果你只是在做T设置,默认的是使用相同的名称。
2是不是有一个分支的名称。例如,你可以将供应HEAD或散列,在这里。如果你使用的东西比其他公司的名字,你可能要执行的全refs/heads/branch在线拼写正确的,尽管它的名字是什么取决于在线已经在线远程)。
这个简单的推到不同的分公司分公司名称.
1
| git push -u origin branch_name:branch_name_test |
- 请注意,如果不包括-u或--set-upstream标志,则每次按下时都必须键入整个命令。在上游设置之前,git push不会独自工作。
git push --set-upstream origin _test
协会--set-upstream集之间的本地和远程分支。你唯一要做的第一时间。在线subsequent顶你可以想:
git push
如果你不已经到了origin集,使用:
上述git remote add origin 然后重试命令。
- 正如我提到的,我不想把它推到我的分支机构上。我想把它推到一个新的分支_test,到目前为止还不存在。
- 对不起,没看见。更新了我的答案。您可以随意命名远程分支,只需调整push命令中的最后一个参数即可。
你可以到你们当地的分公司推新的远程操作系统分类:
1
| git push origin master:test |
(assuming origin是你的遥控器,master是当地分公司的名称和test是新的远程分支的名称,你想创建)。
在同一时间,如果你想建立当地分公司分公司新创建的远程跟踪,你可以用-u(在线更新的操作系统版本的操作系统或--set-upstream,Git)
1
| git push -u origin master:test |
或
1
| git push --set-upstream origin master:test |
创建一个新的远程分支...will,《test在远程仓库,origin,基于本地的master,当地master跟踪和安装它。
Git命令与现代的版本,使用的将是:
1
| git push -u origin <branch_name_test> |
这将自动设置为从远程和分支跟踪在一个推走。