最近、インターンが「git reset --hard」を実行し、誤ってメインの GIT リポジトリで多くの作業を元に戻してしまいました。復旧作業中ですが、このようなことが二度とないようにしたいです。
これについて多くの質問があることは知っていますが、それらはすべて予防ではなく回復に関するものであるようです. すでにプッシュされたコミットを変更または削除するメイン リポジトリへのプッシュを防ぐ方法はありますか? 仕事をする構成設定またはおそらくプッシュフックはありますか?
この問題を防ぐために、中央 (ベア) リポジトリに設定できる2 つの構成オプションがあります。
receive.denyNonFastForwards
receive.denyDeletes
最初のオプションでは、すべてのプッシュで履歴のみを追加する必要があります。agit reset
に続く agit push
は拒否されます。
2番目は、誰かがリモートブランチを削除してから、通常の変更と必要な変更でgit push <origin> :<branch-to-delete>
再度プッシュできる抜け穴を閉じます。git push