如何在一个项目中同时使用Bitbucket和GitHub?

我有一个存储库,我想推入Bitbucket和GitHub。 我的资源库由两者托pipe是至关重要的。

有没有办法在Git中做到这一点?

你可以用git使用多个远程仓库。 检查这个: http : //gitref.org/remotes/

但是,你必须分别推动你的遥控器2我相信。

例如,如果您的项目目前指向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 

是的,你可以这么做。 您不必两次推送,而只需推送一次即可推送到两个远程存储库。 我之前也有同样的问题,所以在这里写了如何做到这一点。 Git:从Github和Bitbucket中推/拉

几个简单的解决scheme。

多个遥控器独立推送(并提取)

这是最容易得到你的头,但最要保持的努力。

我们开始join我们的新遥控器:

 $ 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 

不是一个巨大的开销,但我相信它会随着时间的推移。 或者你可以创build一个别名gpob =“git push origin master && git push bitbucket master”。

带有多个URL的单个远程连续推送(和提取)

使用这种方法,我们将添加一个额外的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 

更省力!

当然,silverlightnetworking有一个云,在这种情况下,虽然我们可以同时推送到多个URL,但是我们只能从原始的“源”中获取(可以改变这个,但是这个文章已经超出了范围)。

最后,要查看哪个远程将从:

 $ git remote -v show 

我博客也是这样。