当我跑步时:

git push origin branchname

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


当前回答

我也对此感到困惑,以下是我所学到的。

当你克隆一个存储库,例如从GitHub:

origin是从中克隆存储库的URL的别名。注意,您可以更改这个别名。 在远程存储库中有一个主分支(以起源为别名)。在本地还创建了另一个主分支。

更多信息可以从这个SO问题中找到:Git分支:master vs. origin/master vs. remotes/origin/master

其他回答

我也对此感到困惑,以下是我所学到的。

当你克隆一个存储库,例如从GitHub:

origin是从中克隆存储库的URL的别名。注意,您可以更改这个别名。 在远程存储库中有一个主分支(以起源为别名)。在本地还创建了另一个主分支。

更多信息可以从这个SO问题中找到:Git分支:master vs. origin/master vs. remotes/origin/master

Remote(存储库url别名)→origin(上游别名)→master(分支别名);

远程,与工作目录、索引、存储库、 源,本地存储库分支映射到远程存储库分支

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

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

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

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

git remote rename origin mynewalias

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

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

origin是远程存储库URL的默认别名。