ero*_*gol 86 git github bitbucket
我有一个存储库,我想推入Bitbucket和GitHub.我的存储库由两者托管至关重要.
有没有办法在Git中这样做?
Den*_*hev 110
您可以使用git使用多个远程存储库.但是你必须分别推入我相信的2个遥控器.
例如,如果您的项目当前指向github,则可以将当前的远程存储库重命名为github:
$ git remote rename origin github
Run Code Online (Sandbox Code Playgroud)
然后,您可以添加另一个远程存储库,例如bitbucket:
$ git remote add bitbucket git@bitbucket.org:your_user/your_repo.git
Run Code Online (Sandbox Code Playgroud)
现在,为了将更改推送到github或bitbucket上的相应分支,您可以执行以下操作:
$ git push github HEAD
$ git push bitbucket HEAD
Run Code Online (Sandbox Code Playgroud)
同样的规则适用于提取:您需要指定要从哪个远程提取:
$ git pull github your_branch
$ git pull bitbucket your_branch
Run Code Online (Sandbox Code Playgroud)
小智 29
是的,你可以这样做.您不必两次推送,只需推送一次即可推送到两个远程存储库.我之前有同样的问题,所以在这里写了如何做到这一点. Git:从Github和Bitbucket推送/拉取
Ahm*_*ais 28
一些简单的解决方案.
这是最容易理解的,但最需要维护.
我们首先添加新的遥控器:
$ cd myproject
$ git remote add bitbucket ssh://git@bitbucket.org/user/myproject.git
$ git push bitbucket master
Run Code Online (Sandbox Code Playgroud)
直接没有?除了当然每次我们进行任何更改,我们都需要推送我们原来的"origin"和我们新的远程"bitbucket":
$ git push origin master
$ git push bitbucket master
Run Code Online (Sandbox Code Playgroud)
不是一个巨大的开销,但我相信它会随着时间推移而产生.或者你可以创建一个`alias gpob ="git push origin master && git push bitbucket master".
使用此方法,我们将向现有的远程"origin"添加一个额外的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
Run Code Online (Sandbox Code Playgroud)
努力少了!
当然,银色衬里有一个云,在这种情况下,虽然我们可以同时推送到多个URL,但我们只能从原始的"原点"获取(你可以改变它,但这不在这个帖子的范围内) ).
最后,要查看将从哪个远程获取:
$ git remote -v show
Run Code Online (Sandbox Code Playgroud)
我也在博客上写了这篇文章.