つい先日、GitHubで管理していたテスト用中央ブランチに、チームメンバーが誤ってgit push --forceしてしまい、 一部の歴史が消失するという事件が起きました。 ぎゃあああ!なんばしよっとね!うっかりでしたじゃ済まんばい! とか思っていたらJenkinsの開発者みたいなスゴい人でもやらかしちゃうみたいです。 Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう http://cpplover.blogspot.jp/2013/11/jenkinsgit-push-force.html スゴい人でもやらかすんだから、平民の我々もそのうちやらかすに違いない。 緊急バグ修正などで慌てていたら尚更ですね。(というか自分が一番やりかねない) というわけで、何とか仕組みの上で防くことができればと思って仕掛けることにしました。 以下のスクリ
![GitHub上の大事な中央ブランチをgit push --forceの恐怖から守るgit hookスクリプト - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c7cd0bfcdc8af158eae5941f179a8a6ba56b1e7d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9R2l0SHViJUU0JUI4JThBJUUzJTgxJUFFJUU1JUE0JUE3JUU0JUJBJThCJUUzJTgxJUFBJUU0JUI4JUFEJUU1JUE0JUFFJUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgzJUIzJUUzJTgzJTgxJUUzJTgyJTkyZ2l0JTIwcHVzaCUyMC0tZm9yY2UlRTMlODElQUUlRTYlODElOTAlRTYlODAlOTYlRTMlODElOEIlRTMlODIlODklRTUlQUUlODglRTMlODIlOEJnaXQlMjBob29rJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0zNjI0Mzk2MDM5M2M0ZTUxZDM3MzBmYWNmMDFiMGIwZg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc21kODEyMiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjM1N2MxNDJhNTdiOWQ1YjA4YjE2YTRmYzhhYWNjNzc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D1e40fc90786ea6985bbd0a9e58def598)