当我跑步时:

git push origin branchname

到底什么是起源,为什么我必须键入它之前的分支名称?


当前回答

最好的答案是:

https://www.git-tower.com/learn/git/glossary/origin

在Git中,“origin”是远程存储库的简写名称 项目最初是从。更准确地说,它被用来代替 原始存储库的URL -从而使引用更多 更容易。

其他回答

其他答案说origin是远程存储库URL的别名,这并不完全准确。应该注意,以http开头的地址是URL,而以git@开头的地址是URI或通用资源标识符。

所有的url都是uri,但并非所有的uri都是url。

简而言之,当你输入git remote add origin <URI>时,你是在告诉你的本地git,无论何时你使用origin这个词,你实际上指的是你指定的URI。把它想象成一个保存值的变量。

就像变量一样,你可以给它起任何你想要的名字(例如。Github, heroku, destination等)。

当你用git clone克隆一个存储库时,它会自动创建一个名为origin的远程连接,指向克隆的存储库。这对于创建中央存储库的本地副本的开发人员非常有用,因为它提供了一种简单的方法来提取上游更改或发布本地提交。这种行为也是大多数基于git的项目调用其中央存储库起源的原因。

最好的答案是:

https://www.git-tower.com/learn/git/glossary/origin

在Git中,“origin”是远程存储库的简写名称 项目最初是从。更准确地说,它被用来代替 原始存储库的URL -从而使引用更多 更容易。

Origin是系统上某个特定远程存储库的别名。它实际上不是存储库的属性。

通过做

git push origin branchname

你说的是推到原始存储库。不需要命名远程存储库的起源:事实上,同一个存储库对于另一个开发人员可以有不同的别名。

远程只是存储存储库URL的别名。通过使用,可以查看每个远程的URL

git remote -v

在push命令中,您可以使用远程,也可以直接使用URL。一个使用URL的例子:

git push git@github.com:git/git.git master

Origin不是远程存储库名称。它实际上是一个本地别名,用来代替远程存储库URL。

它避免了用户在提示推送时必须输入整个远程URL。

默认情况下,这个名称是Git在第一次从远程克隆时设置的。

这个别名不是硬编码的,可以使用以下命令提示符更改:

git remote rename origin mynewalias

请访问http://git-scm.com/docs/git-remote以获得进一步的说明。