git pushを実行したいのですが、変更は 2 つの異なるオリジンにプッシュする必要があります。gitで1つのコマンドで複数のオリジンにプッシュする方法はありますか? 多分いいフック?
質問する
180 次
2 に答える
2
これを行うために2つの方法を使用しました。フォークされたリポジトリと上流のリモートがある場合に便利な方法の 1 つは、pushurl
リモートで構成オプションを使用することです。オリジンだけでは、次のようになります。
[remote "origin"]
url = git@github.com:user/repo.git
pushurl = git@github.com:user/repo.git
pushurl = git@github.com:me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl
フォークされたリポジトリの場合、リモートでこのトリックを使用しupstream
、フォークとアップストリーム リポジトリの両方にプッシュします。これは、マスター ブランチの同期を簡単に維持するのに役立ちます。
また、インフラストラクチャでホストしているリポジトリで post-receive フックを使用して、それらを別の場所 (GitHub など) にミラーリングしました。post-receive フックは次のようになります。
nohup git push --mirror git@github.com:user/repo.git &> ~/.mirror.log
次に、サーバー上のリポジトリにプッシュすると、サーバーが GitHub クローンにプッシュします。SSH キーが正しく設定されていることを確認する必要がありますが、それ以外は非常に簡単です。
于 2012-10-25T23:12:35.147 に答える
0
多分これをあなたに追加してください.git/config
[alias]
push2 = ! git push remote1 && git push remote2
于 2012-10-25T20:58:33.533 に答える