即使在阅读了这个问题之后:git-push-current-branch,我仍然很难弄清楚应该如何编写git push
命令。正如问题链接中提到的,文档中没有明确说明。
我想使用我的“真实的世界”例子。下面是我在分支的顶层运行git status
命令时看到的结果:
在分支amd_qlp_tester上
您的分支比'learn/learn'领先5个提交。
等等。
我的分支名称是amd_qlp_tester
,但它是从主分支“分支”出来的(如果我用错了术语,那是因为我的SVN背景)。
那么我该如何表达我的push命令呢?
是否为以下任何一项?
git push origin/amd_qlp_tester
git push origin amd_qlp_tester
git push amd_qlp_tester
git push origin
git push
4条答案
按热度按时间k97glaaz1#
如果您的本地分支和远程分支是相同的名称,那么您可以直接这样做:
当您的本地和远程分支名称不同时,您可以:
acruukt92#
git push origin amd_qlp_tester
将为您工作。如果您只键入git push
,则当前分支的远程是默认值。push的语法是-
git push <remote> <branch>
.如果你查看你的远程文件.git/config
,你会看到一个[remote "origin"]
条目,它指定了仓库的url.所以,在命令的第一部分你会告诉Git在哪里找到这个项目的仓库,然后你只需要指定一个分支.bybem2ql3#
你所链接到的问题答案都是关于配置git,让你可以输入很短的
git push
命令,让它们做你想做的任何事情。如果你知道你想要什么,以及如何在Git-Ese中拼写,这是很棒的,但你是git的新手!:-)在您的例子中,Petr Mensik's answer是正确的(好吧,"a"),原因如下:
命令
git push *remote*
在您的.git/config
文件中查找命名为"remote"的(例如,origin
)。ssh://*hostname*/
path``)git fetch *remote*
时获取什么当你第一次克隆repo的时候--无论何时--git都为其中一些设置了默认值。URL是你克隆的任何东西,其余的,不管设置还是不设置,都是"合理的"默认值......或者,嗯,它们是吗?
问题是随着时间的推移,人们已经改变了对什么是"合理的"的看法,所以现在(取决于你的git版本和你是否已经详细配置了),git可能会打印出很多关于默认值在未来更改的警告。添加"要推送的分支"的名称-
amd_qlp_tester
-(1)关闭它,(2)只推送那一个分支。如果您想更方便地推动,您可以使用:
或者甚至:
但这是否符合你的要求,取决于你是否同意"早期git作者"的观点,即原始默认值是合理的,还是"后期git作者"的观点,即原始默认值是不合理的。所以,当你想完成所有的配置工作时(最终),请查看你链接到的问题(和答案)。
首先,对于名称
origin/amd_qlp_tester
:这实际上是一个本地实体(存储在存储库中的名称),尽管它被称为"远程分支"。这是git对"amd_qlp_tester
在哪里"的最佳猜测。gr8qqesn4#
我想补充一个更新的答案--现在我已经使用git一段时间了,我发现我经常使用下面的命令来做任何推送(以最初的问题为例):
git push origin amd_qlp_tester
-推送到远程分支amd_qlp_tester
上位于远程分支origin
中的分支。git push -u origin amd_qlp_tester
-与上一个相同,但设置了将本地分支链接到远程分支的上行流,以便下次您可以在尚未链接的情况下使用git push/pull
(只需执行一次)。git push
-一旦你设置了上游,你就可以只使用这个较短的版本。注意
-u
选项是--set-upstream
的简化版本-它们是相同的。