[英]can git push to multiple ssh remotes?
我需要通過ssh推送到多個遙控器。 這是我的設置:
$ git remote -v
stage ssh://me@host1.xxxxxx.com:/home/me/gitserve (fetch)
stage ssh://me@host2.xxxxxx.com:/home/me/gitserve (push)
stage ssh://me@host1.xxxxxx.com:/home/me/gitserve (push)
$ git config -l
user.name=kevin
user.email=xxxx
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.stage.url=ssh://me@host1.xxxxxx.com:/home/me/gitserve
remote.stage.fetch=+refs/heads/*:refs/remotes/stage/*
remote.stage.pushurl=ssh://me@host2.xxxxxx.com:/home/me/gitserve
remote.stage.pushurl=ssh://me@host1.xxxxxx.com:/home/me/gitserve
但是當我推送時,git只推送到第二台主機,而不是第一台:
$ git push stage master
Counting objects: 3, done.
Writing objects: 100% (3/3), 251 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://me@host2.xxxxxx.com:/home/me/gitserve
8963c70..9619fdb master -> master
Everything up-to-date
git是否僅允許通過SSH進行一次推送遠程操作? 我已經在SO上看到了一些示例,這些示例顯示您可以對“ git://”模式執行多個推送遠程操作,但不確定是否可以對ssh模式進行多個推送遠程操作。
重新定義remote.stage.pushurl
將覆蓋原始值。
如果要推送到其他遙控器,請使用不同的名稱定義它們:
remote.stage2.pushurl=ssh://me@host2.xxxxxx.com:/home/me/gitserve
remote.stage1.pushurl=ssh://me@host1.xxxxxx.com:/home/me/gitserve
然后推送:
git push stage1 master
git push stage2 master
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.