簡體   English   中英

git可以推送到多個ssh遙控器嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM