What is “origin” in Git?

这是来自StackOverflow上的提问:

When I run:

1
git push origin branchname

What exactly is origin and why do I have to type it before the branch name?

我来将其保存到墙内。


一句话概括:origin是你的系统上对于某个特定的远程(GitHub)仓库的别名。

它不是某个仓库的真实属性。

当你执行下面操作时,意思就是推送到origin仓库,你不需要输入仓库的真实地址,而且也可以不使用origin这个别名。请接着看。

1
git push origin branchname

从这里可以看到别名以及对应的真实地址:

1
2
3
MacBook-Pro:LeetCode-Solution nomasp$ git remote -v
origin https://github.com/NoMasp/LeetCode-Solution.git (fetch)
origin https://github.com/NoMasp/LeetCode-Solution.git (push)

所以你也可以通过这种方式来推送提交:

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

你也可以对这个alias来重命名:

1
2
3
4
5
MacBook-Pro:LeetCode-Solution nomasp$ git remote rename origin mynewalias
MacBook-Pro:LeetCode-Solution nomasp$ git br --all
* master
remotes/mynewalias/HEAD -> mynewalias/master
remotes/mynewalias/master

重命名之后:

1
2
3
MacBook-Pro:LeetCode-Solution nomasp$ git remote -v
mynewalias https://github.com/NoMasp/LeetCode-Solution.git (fetch)
mynewalias https://github.com/NoMasp/LeetCode-Solution.git (push)


年龄在18、智商在80以上,除非征得同意,本站所有文章严禁以任何形式转载。当然了,提前联系的话一般都是允许的……😶

本站地址:http://nomasp.com/,欢迎留言、邮件


坚持原创,坚持分享✊,想要请我吃包辣条吗?🍻