git推到特定的分支

即使阅读了这个问题: git-push-current-branch ,我仍然很难搞清楚我应该怎么写我的git push命令。 正如问题链接中提到的,从文档中不清楚。

我想用我的“现实世界”的例子。 以下是我在分支的顶层执行git status命令时看到的内容:

在分支amd_qlp_tester上

你的分支在5次提交之前在“origin / amd_qlp_tester”之前。

等等…

所以我的分支名称是amd_qlp_tester但它从主分支“分支”(如果我有条款错误,这是因为我的SVN背景)。 但是接下来还有名字“origin / amd_qlp_testser”

那么我怎么说我的push命令呢?

是否有这些:

 git push origin/amd_qlp_tester? git push origin amd_qlp_tester? git push amd_qlp_tester? git push origin? git push? 

git push origin amd_qlp_tester会为你工作。 如果你只是inputgit push ,那么当前分支的远程是默认值。

push的语法如下所示 – git push <remote> <branch> 。 如果您在.git/config文件中查看您的远程位置,则会看到一个指定存储库的URL的条目[remote "origin"] 。 所以,在命令的第一部分,你将告诉Git在哪里find这个项目的仓库,然后你只需指定一个分支。

您所链接的问题的答案都是关于configurationgit,以便您可以input非常短的git push命令并让它们执行任何您想要的操作。 如果你知道你想要什么以及如何在Git-Ese中拼写,那你真是太棒了! 🙂

就你而言, Petr Mensik的答案是(好的,“是”)正确的答案 。 原因如下:

命令git push remote在您的.git/config文件中git push remote根,以find指定的“远程”(例如, origin )。 configuration文件列表:

  • 远程“生活”(例如, ssh:// hostname / path )在哪里(URL-明智的)
  • 如果不同的话,那就是推
  • 如果你没有说推动什么分支,什么推动
  • 当你运行git fetch remote时候会得到什么

当你第一次克隆回购时,只要是git为其中一些设置默认值。 URL是你从克隆的任何东西,其余的,如果设置或取消设置,都是“合理”的默认值…或者,嗯, 吗?

问题在于人们随着时间的推移改变了什么是“合理的”。 所以现在(取决于你的git版本以及你是否configuration了详细的东西),git可能会打印很多关于将来更改默认值的警告。 添加“分支推”的名称 – amd_qlp_tester – (1)closures,(2)只推动一个分支。

如果你想推更方便,你可以这样做:

 git push origin 

甚至:

 git push 

但是否这样做是你想要的,取决于你是否同意“早期的git作者”原始默认是合理的,或者“后来的git作者”认为原始默认是不合理的。 所以,当你想做所有的configuration(最终)的时候,看看你链接到的问题(和答案)。

至于名字origin/amd_qlp_tester首先:这实际上是一个本地实体(名称保存在您的回购),即使它被称为“远程分支”。 这是git最好的猜测:“ amd_qlp_tester在哪里”。 Git 在可以的时候更新它 。