一个项目可以有两个(或更多)Git中的“origins”?

我想把一个项目推到github和Heroku服务器。

具体来说,在添加github存储库时出现这个错误:

$ git remote add origin https://github.com/Company_Name/repository_name.git
fatal: remote origin already exists.

当前回答

您可以拥有任意多的遥控器,但只能拥有一个名为“origin”的遥控器。名为“origin”的远程服务器在任何方面都不特殊,除了它是Git在克隆现有存储库时创建的默认远程服务器。您可以配置第二个远程,从该远程上推/拉,并设置一些分支从该远程而不是原点跟踪分支。

尝试添加一个名为“github”的远程代替:

$ git remote add github https://github.com/Company_Name/repository_name.git

# push master to github
$ git push github master

# Push my-branch to github and set it to track github/my-branch
$ git push -u github my-branch

# Make some existing branch track github instead of origin
$ git branch --set-upstream other-branch github/other-branch

其他回答

您可以拥有任意多的遥控器,但只能拥有一个名为“origin”的遥控器。名为“origin”的远程服务器在任何方面都不特殊,除了它是Git在克隆现有存储库时创建的默认远程服务器。您可以配置第二个远程,从该远程上推/拉,并设置一些分支从该远程而不是原点跟踪分支。

尝试添加一个名为“github”的远程代替:

$ git remote add github https://github.com/Company_Name/repository_name.git

# push master to github
$ git push github master

# Push my-branch to github and set it to track github/my-branch
$ git push -u github my-branch

# Make some existing branch track github instead of origin
$ git branch --set-upstream other-branch github/other-branch
git remote set-url --add --push origin git@github.com:user/my-project.git
git remote set-url --add --push origin git@bitbucket.org:user/my-project.git

现在你有两个原点。

你可以使用 而不是原始使用GitHub或GitLab

对于github在地方的起源使用github

git remote add github https://github.com/repository_name.git
git push github branchname

对于gitlab,请使用gitlab

git remote add gitlab https://github.com/repository_name.git
git push gitlab branchname

您可以通过指定不同的名称而不是原始名称向存储库添加另一个远程帐户。您可以使用名称,如origin2。 因此您的git命令可以修改为

git remote add origin2 https://github.com/Company_Name/repository_name.git

下面是一个带有多个遥控器的示例项目,GitHub和GitLab:

Add remote repo for GitHub $ git remote add github https://github.com/Company_Name/repository_name.git Add remote repo for GitLab $ git remote add gitlab https://gitlab.com/Company_Name/repository_name.git Now you have multiple remotes in the project. Double check with git remote -v $ git remote -v github https://github.com/Company_Name/repository_name.git (fetch) github https://github.com/Company_Name/repository_name.git (push) gitlab https://gitlab.com/Company_Name/repository_name.git (fetch) gitlab https://gitlab.com/Company_Name/repository_name.git (push) How do you push to multiple repositories? $ git push github && git push gitlab