5

どういうわけか、通常の--mirrorとして機能するgitリポジトリをセットアップすることは可能ですか?ただし、そこから別のリポジトリにプッシュするときに強制することありませんか?

4

3 に答える 3

4

次のように --no-force を追加して、強制動作を無効にすることができます。

git push --mirror --no-force

これにより、早送り以外の更新が無効になります (git 1.8.0.2 でテスト済み)。

于 2013-08-22T20:13:22.463 に答える
3

早送り以外の更新が必要な場合に失敗する git push --mirror を実行したいと思います。

上流リポジトリの構成が次のように設定されている場合、git push --mirror は失敗するはずですreceive.denyNonFastForwards true

git configマニュアルページ:

receive.denyNonFastForwards

に設定するとtruegit-receive-pack早送りではない ref 更新が拒否されます。これを使用して、プッシュが強制されたとしても
、プッシュによるそのような更新を防ぎます。 この構成変数は、共有リポジトリの初期化時に設定されます。

つまり、「」が行うことを「再現」する必要がないことを意味します。--mirror単にそれを使用でき、非早送りマージが関係している場合、そのプッシュは失敗します。

于 2013-08-16T15:10:50.660 に答える
1

--mirror が他のオプションで行うことを再現する方法はありますか?

ミラーが行うことのいくつかは、いくつかのプッシュを使用して実行できます。

git push <remote> --all  # push all branches
git push <remote> --tags # push all tags
git push <remote> refs/remotes/* #push the remote refs
于 2013-08-16T23:38:44.057 に答える