当我跑步时:
git push origin branchname
到底什么是起源,为什么我必须键入它之前的分支名称?
当我跑步时:
git push origin branchname
到底什么是起源,为什么我必须键入它之前的分支名称?
当前回答
origin是远程存储库URL的默认别名。
其他回答
我也对此感到困惑,以下是我所学到的。
当你克隆一个存储库,例如从GitHub:
origin是从中克隆存储库的URL的别名。注意,您可以更改这个别名。 在远程存储库中有一个主分支(以起源为别名)。在本地还创建了另一个主分支。
更多信息可以从这个SO问题中找到:Git分支:master vs. origin/master vs. remotes/origin/master
Origin是系统上某个特定远程存储库的别名。它实际上不是存储库的属性。
通过做
git push origin branchname
你说的是推到原始存储库。不需要命名远程存储库的起源:事实上,同一个存储库对于另一个开发人员可以有不同的别名。
远程只是存储存储库URL的别名。通过使用,可以查看每个远程的URL
git remote -v
在push命令中,您可以使用远程,也可以直接使用URL。一个使用URL的例子:
git push git@github.com:git/git.git master
Git有一个“远程”的概念,它只是指向你存储库其他副本的url。当克隆另一个存储库时,Git会自动创建一个名为“origin”的远程存储库并指向它。
你可以通过输入git remote show origin查看更多关于远程的信息。
我想补充一点,如果你把遥控器看作是你想把代码转移到的电脑以外的地方,这就很容易理解了。
一些很好的例子是:
GitHub 托管应用程序的服务器
所以你当然可以有多个遥控器。一种非常常见的模式是使用GitHub存储代码,并使用服务器托管应用程序(如果它是一个web应用程序)。那么您将有2个遥控器(如果您有其他环境,可能更多)。
试着输入git config -e打开你的git配置
注意:按escape,然后:,然后q然后enter退出
例子
下面是如果你有3个遥控器,你在git配置中可能会看到的内容。在本例中,1个远程(称为“origin”)是GitHub,另一个远程(称为“staging”)是登台服务器,第三个远程(称为“heroku”)是生产服务器。
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://github.com/username/reponame.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "heroku"]
url = https://git.heroku.com/appname.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "staging"]
url = https://git.heroku.com/warm-bedlands-98000.git
fetch = +refs/heads/*:refs/remotes/staging/*
以[remote…]开头的三行字给我们看看我们能按的遥控器。
运行git push origin将推送到'[remote "origin"]'的url,即GitHub
但类似地,我们可以推到另一个远程,例如,'[remote "staging"]',使用git push staging,那么它将推到https://git.heroku.com/warm-bedlands-98000.git。
在上面的例子中,我们可以看到3个使用git remote的遥控器:
git remote
heroku
origin
staging
摘要或起源
遥控器只是互联网上的一个地方,你可能有理由把你的代码发送到那里。GitHub是一个很明显的地方,就像托管应用程序的服务器一样,你也可能有其他位置。git push origin仅仅意味着它将推送到“origin”,这是GitHub选择的默认名称。
至于branchname
Branchname就是你要推到遥控器上的东西。根据git推送帮助文档,branchname参数在技术上是一个refspec,在实际应用中,它是你想要推送的分支。
通过运行:git push——help来阅读更多关于git push的文档
最好的答案是:
https://www.git-tower.com/learn/git/glossary/origin
在Git中,“origin”是远程存储库的简写名称 项目最初是从。更准确地说,它被用来代替 原始存储库的URL -从而使引用更多 更容易。