Git:在一个命令中推动两个回购
我想在同一行中执行Git:在一个命令中推动两个回购,git,Git,我想在同一行中执行git push origin和git push my_other_remote。可能吗?您可以通过为源站添加额外的推送URL来获得相同的效果。例如,如果现有远程设备的URL如下所示: $ git remote -v origin me@original:something.git (fetch) origin me@original:something.git (push) my_other_remote git://somewhere/something.git (fe
git push origin
和git push my_other_remote
。可能吗?您可以通过为源站添加额外的推送URL来获得相同的效果。例如,如果现有远程设备的URL如下所示:
$ git remote -v
origin me@original:something.git (fetch)
origin me@original:something.git (push)
my_other_remote git://somewhere/something.git (fetch)
my_other_remote git://somewhere/something.git (push)
你可以做:
git remote set-url --add --push origin git://somewhere/something.git
然后,git push origin
将推送到两个存储库。不过,为了避免混淆,您可能需要为此设置一个名为both
的新遥控器。例如:
git remote add both me@original:something.git
git remote set-url --add --push both me@original:something.git
git remote set-url --add --push both git://somewhere/something.git
。。。然后:
git push both
。。。将尝试推送到这两个存储库。您可以将以下内容放入
.git/config
文件中:
[remote "both"]
url = url/to/first/remote
url = url/to/other/remote
[remotes]
both = origin, other
现在,您可以使用git-push-tware推送两个URL
如果您还想从它们那里获取(对同步有用),您可以在.git/config
文件中添加以下行:
[remote "both"]
url = url/to/first/remote
url = url/to/other/remote
[remotes]
both = origin, other
现在,您还可以运行git fetch both这只是对已经提供的优秀答案的一个小小补充-如果您不想费心添加“both”,只想让所有操作自动推送到两个repo,只需在git配置中的origin下添加第二个repo作为另一个url
[remote "origin"]
url = someUrl.git
url = secondUrl.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
现在“GitPush”同时使用这两种方法 我不认为你可以使用标准命令来实现这一点,但你可以编写一个
git multipush
或其他什么东西并使用它。这是否也会更新remote/origin
和remote/myŭother_remote
跟踪分支?@Paŭlo eberman:my(非常简短)测试表明,refs/remotes/origin/master
和refs/remotes/my_other_remote/master
的URL都将被更新,在这种情况下,这两个URL都将作为推送URL添加到origin
,并且您执行git推送origin
。这看起来可能与我正在寻找的内容类似,但我仍然有点困惑。。。如果我想将我的应用提交给Heroku和BitBucket,如何继续?首先,我必须创建回购并提交给Heroku,然后使用相同的方法在BitBucket上创建回购,或者正确的方法是什么?您提供的解决方案与Mark的解决方案基本相同(除非您通过手动编辑),还是有其他区别?