Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
90
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

masterのpushを常に禁止する

masterへpushできなくする

masterブランチ消しちゃった\(^o^)/

みたいな事が往々にしてあるので、
githubのPull Requestみたいに、
手元でマージしなくてもマージ可能な環境では、
developへのpushは禁止にしておくのがいいと思います。

以下のサイトに書かれているようなpre-commitスクリプトを、
そっくりそのままファイル名をpre-pushとすることで、
masterへのpushを禁止することができるようになります。

commitを禁止してても(たぶん)pushで削除はできてしまうので、pushも禁止にしておいた方が確実です(´・_・`)

push禁止スクリプトを自動でコピーする

ただ、これだけだとコピーするのを忘れた瞬間に終わるので、
clone時に自動でコピーされるようにします。

以下のように.gitconfigに書き、
~/.git_template/hooks/pre-pushに上記のpre-pushスクリプトを置くことで、
自動的にコピーされるようになります。

[init]
        templatedir = $HOME/.git_template

作成したpre-pushスクリプトにchmod +xで実行権限を与えるのも忘れないでください。

なお、pre-pushスクリプトは比較的新しいgitじゃないと動かないらしいです(1.8.3.4では動いています)。
そのため、SourceTree等のgitを内蔵しているソフトを利用している場合は、
システムのGitを使うように変更をした方がいいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
90
Help us understand the problem. What are the problem?