``git push origin master''中的``origin''是什么意思


94

当我跑步时:

git push origin master

... origin在这种情况下是什么意思?


7
Git教程中查看-“当您在一个紧密的小型小组中工作时,一次又一次地与同一个存储库进行交互并不稀奇。通过定义远程存储库速记,您可以使其变得更容易”。如果您不这样做,则默认使用原点。
sakisk 2011年

Answers:


74

origin是您从其克隆的远程git存储库的默认名称。看看.git/refs/remotes/origin/*.git/config你的源代码中看到Git是如何知道这事。


7
我会说“从中克隆您的存储库”,而不是“从中检出您的源”,后者是集中式VCS的保留短语,可能会误导DVCS初学者。
卡斯卡贝尔2011年

1
git remote add origin命令怎么办?为什么要添加原点?stackoverflow.com/a/8248542/719689
AlxVallejo 2012年

5
git remote add origin意味着添加一个名为origin的远程存储库,它没有任何特殊的技术含义,它只是原始远程存储库的一种广泛使用的默认名称。如果愿意,可以使用foob​​ar代替origin
skuro 2012年

1
@AlxVallejo通常在您未从该存储库克隆时使用,而是在本地创建该存储库并在其他位置创建源作为远程存储库。
马特

4
@KasunSiyambalapitiya是分支的名称。随着git push origin master你告诉混帐推所有提交的在当前已签出的本地分支(即从文件系统),以确定由名称远程回购origin其指定的远程分支master
skuro 2016年

85

git具有“远程”的概念-它们就像是存储库的简单昵称,因此您不必在每次要引用另一个存储库时都使用其完整URL。

origin就像其他任何远程站点一样,但是您会经常看到它,因为当您第一次克隆存储库时,git clone默认情况下会设置一个远程站点,origin以引用您从中克隆的URL。

如果这样做git remote -v,将显示您在本地存储库中设置的所有远程服务器,以及它们所引用的URL。(您会发现它比我上面说的要复杂一些,因为远程可以引用不同的URL进行推送和获取,但是您可能不必为此担心。:))


git remote add origin命令怎么办?为什么要添加原点?stackoverflow.com/a/8248542/719689
AlxVallejo 2012年

2
@AlxVallejo:origin如果您自己初始化了存储库,则可以自己添加遥控器,而不是通过进行git clone
Mark Longair 2012年

@MarkLongair master代码末尾使用的内容
Kasun Siyambalapitiya,2016年

35

原点是您从原点 -ally 获得代码的地方。


2
对我而言,记住起源的含义不是开玩笑,而是一项易记忆的规则。我喜欢的一位,+ 1
MiGU

虽然我喜欢你爸爸的笑话,但不一定是真的。我可以在本地创建一个新的存储库,并在没有任何远程知识的情况下进行提交。以后,我可以创建一个远程命名的origin,并将在本地所做的所有提交推送到该源。Origin不必是存储库的原始源。
罗伯·贝尔

3

这会有所帮助

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

n Git,“来源”是最初从中克隆项目的远程存储库的简称。更准确地说,它代替了原始存储库的URL,从而使引用更加容易。

请注意,起源绝不是“魔术”名称,而只是标准约定。尽管保留此约定是有意义的,但是您可以完美地重命名它而不会丢失任何功能。

在以下示例中,“ clone”命令的URL参数成为克隆的本地存储库的“来源”:

git clone https://github.com/gittower/git-crash-course.git


2

当您为第一个克隆存储库指向由其创建克隆的URL时,git本身会远程创建origin。例如:origin git@github.com:/ PROJECT_U


0

“来源”是您要在其中发布提交的远程存储库的名称。按照约定,默认的远程存储库称为“源”,但是您可以同时使用多个远程服务器(具有不同的名称)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.