什么是Git的“起源”?
当我运行:
git push origin branchname
究竟是什么origin
,为什么我必须在分支名称之前input它?
origin
是您的系统上特定远程存储库的别名 。 这实际上不是该存储库的一个属性。
通过做
git push origin branchname
你说要推送到origin
库。 不需要命名远程存储库origin
:实际上,同一个存储库可以为另一个开发人员使用不同的别名。
远程是一个简单的存储知识库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
Git有一个“远程”的概念,它只是到你的仓库其他副本的URL。 当你克隆另一个仓库时,git会自动创build一个名为“origin”的远程并指向它。
您可以通过inputgit remote show origin
来查看有关遥控器的更多信息
origin
是远程存储库的URL的默认别名 。
我也被这个困惑,下面是我所学到的。
例如,从GitHub克隆存储库时:
-
origin
是您从中克隆存储库的URL的别名。 请注意,您可以更改此别名。 -
远程存储库中有一个
master
分支(按origin
别名)。 还有另一个在本地创build的master
分支。
更多的信息可以从这个SO问题中find: Git分支:主控与起源/主控与遥控/起源/主控
当你使用git clone
克隆一个仓库时,它会自动创build一个名为origin
的远程连接,指向克隆的仓库。 这对开发人员创build中央存储库的本地副本很有用,因为它提供了一种简单的方法来提取上游更改或发布本地提交。 这种行为也是大多数基于Git的项目调用其中央资源库的原因。
简单! “origin”就是你在运行如下代码的时候对你的远程仓库昵称的东西:
git remote add origin git@github.com:USERNAME/REPOSITORY-NAME.git
这是一个GitHub存储库的例子。 从此,git知道“origin”指向特定的存储库。 你可以把它命名为“github”或“repo”或任何你想要的。