Answers:
您可以将多个远程存储库与git一起使用。但是我相信您必须分别推入两个遥控器。
例如,如果您的项目当前指向github,则可以将当前的远程存储库重命名为github
:
$ git remote rename origin github
然后,您可以添加另一个远程存储库,例如bitbucket
:
$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git
现在,为了将更改推送到github或bitbucket上的相应分支,您可以执行以下操作:
$ git push github HEAD
$ git push bitbucket HEAD
同样的规则适用于拉取:您需要指定要从哪个拉取远程:
$ git pull github your_branch
$ git pull bitbucket your_branch
.ssh/config
文件是实现此设置的关键。添加Host github.com
和Host bitbucket.org
以标识IdentityFile
要使用的。这样一来,您就不会在尝试在bitbucket和github之间来回交换权限时遇到权限被拒绝的错误。希望这对某人有帮助。
是的,你可以这样做。您不必两次推送,而只需一次即可推送到两个远程存储库。我之前也遇到过同样的问题,所以在这里写下了如何做。 Git:从Github和Bitbucket推入/拉出
一些简单的解决方案。
这是最容易解决的问题,但也是维护工作的最大努力。
我们首先添加新的遥控器:
$ cd myproject
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git
$ git push bitbucket master
直截了当吗?当然,除了每次进行任何更改外,我们都需要同时推送原始的“原始”和新的远程“ bitbucket”:
$ git push origin master
$ git push bitbucket master
开销不会很大,但是我相信它会随着时间的推移而逐渐增加。或者,您可以创建一个“ alias gpob =“ git push origin master && git push bitbucket master”。
使用这种方法,我们将向现有的远程“来源”添加一个附加URL:
$ cd myproject
$ git remote set-url --add origin ssh://git@bitbucket.org/user/myproject.git
$ git push origin master
Everything up-to-date
Everything up-to-date
省力得多!
当然,一线希望是有云的,在这种情况下,虽然我们可以同时推送到多个URL,但我们只能从原始“来源”中获取(您可以更改此内容,但这超出了本文的范围) )。
最后,查看将从哪个远程获取:
$ git remote -v show
我也写了博客。