终端下如何配置 git 使其可以同时 push 到两个远程仓库?
迷茫
迷茫 2017-04-27 09:03:02
0
3
677
[remote "origin"]
        url = git@github.com:SegmentFault/XXX.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[remote "dev"]
        url = git@gitlab.com:root/XXX.git
        fetch = +refs/heads/*:refs/remotes/dev/*

config 中配置了两个远程仓库。我想终端下一句 git push 同时把代码提交到两个仓库,该怎么做?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(3)
巴扎黑

私は 2 つの方法を使用しました。1 つ目は、複数のリモートを設定してから、次のようなエイリアスを作成することでした。 リーリー

その後、特定のバージョン (具体的なバージョン番号は忘れました) がアップグレードされた後、Git はリモートに複数のプッシュ URL を設定できる追加の設定を追加しました。たとえば、質問の例では、remote "dev" を削除し、remote "origin" だけを残して、次を追加できます:

リーリー remote "dev",只留下 remote "origin",然后加一句:

$ git config alias.pushall "!git push origin && git push dev"

在这之后,你的 remote "origin" 就变成类似如下的结构:

git remote --set-url --add --push origin git@gitlab.com:root/XXX.git

如此一来,我可以直接 git push originこの後、リモート "origin" は次のような構造になります:

リーリー

このようにして、直接 git Push Origin を実行して 2 つのリポジトリをプッシュできます。

🎜これら 2 つの方法には実際に適用可能な独自のシナリオがあるため、自分で選択してください。 🎜
いいねを押す +0
世界只因有你

壁に阻まれる危険性があるので、2つの倉庫の同期がずれているのは困ります。あまり面倒ではありません..
本当にこれを実行したい場合は、シェル ファイルを作成するだけです。

リーリー

次に、それを実行可能にすることを忘れないでください: (スクリプトが push.sh と呼ばれると仮定します)

リーリー
いいねを押す +0
大家讲道理

答え: http://blog.codepiano.com/2013/07/03/push-multi-remote-repositories/

SegmentFault での同じ質問:
/q/1010000000367632/a-1020000000369754
/q/1010000000411859/a-1020000000411882#🎜 🎜#

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート