6

最近、インターンが「git reset --hard」を実行し、誤ってメインの GIT リポジトリで多くの作業を元に戻してしまいました。復旧作業中ですが、このようなことが二度とないようにしたいです。

これについて多くの質問があることは知っていますが、それらはすべて予防ではなく回復に関するものであるようです. すでにプッシュされたコミットを変更または削除するメイン リポジトリへのプッシュを防ぐ方法はありますか? 仕事をする構成設定またはおそらくプッシュフックはありますか?

4

1 に答える 1

9

この問題を防ぐために、中央 (ベア) リポジトリに設定できる2 つの構成オプションがあります。

receive.denyNonFastForwards
receive.denyDeletes

最初のオプションでは、すべてのプッシュで履歴のみを追加する必要があります。agit resetに続く agit pushは拒否されます。

2番目は、誰かがリモートブランチを削除してから、通常の変更と必要な変更でgit push <origin> :<branch-to-delete>再度プッシュできる抜け穴を閉じます。git push

于 2012-04-18T16:30:20.940 に答える