【发布时间】:2019-10-15 20:15:53
【问题描述】:
我想在同一行中执行 git push origin 和 git push my_other_remote。可能吗?
【问题讨论】:
-
我不认为您可以使用标准命令执行此操作,但您可以编写
git-multipush或其他内容并使用它。
标签: git
我想在同一行中执行 git push origin 和 git push my_other_remote。可能吗?
【问题讨论】:
git-multipush 或其他内容并使用它。
标签: git
您可以通过为您的origin 遥控器添加一个额外的推送 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
... 将尝试推送到两个存储库。
【讨论】:
remote/origin 和remote/my_other_remote 跟踪分支?
refs/remotes/origin/master 和 refs/remotes/my_other_remote/master 在两者的 URL 都作为推送 URL 添加到 origin 和你做git push origin。
您可以将以下内容放入.git/config 文件中:
[remote "both"]
url = url/to/first/remote
url = url/to/other/remote
您现在可以使用git push both 推送到这两个网址。
如果您还想从它们获取(用于同步),您可以在您的.git/config 文件中添加以下行:
[remotes]
both = origin, other
现在你也可以运行git fetch both。
【讨论】:
只是对已经提供的优秀答案的一个小补充 - 如果您不想麻烦添加“两者”并且只想将所有操作自动推送到两个存储库,只需将您的第二个存储库添加为源下的另一个 url混帐配置。
[remote "origin"]
url = someUrl.git
url = secondUrl.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
现在“git push”两者都使用。
【讨论】: