2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Gitでcheckoutした際に config.ブランチ名.description (説明文)を表示する

Last updated at Posted at 2017-08-31

背景

詳細は書けないが、

チームメンバーでmasterブランチや開発共有ブランチに、別ディレクトリで作業した古い内容を、ファイルシステムでコピー&ペーストし、直にCommit & Pushされるという事故が多発していたので、色々我慢できず、かつ割と暇だったため、この問題が少しは何とかならないかと考えてタイトルに至った。

結論

以下スクリプトをリポジトリの .git/hooks/post-checkout に追加。なかったら作る。

branch_name=`git branch | grep '^*' | sed 's/* //'` 
git config branch.$branch_name.description && exit 0

過程 tl;dr

「いやー、どうしたら事故らなくなるんだろう。自分がGitにもっと詳しくなったらいいのかなあ」

と思ってGitオブジェクトのことを調べ始めたら、hooksというディレクトリを見つけたので、
「もしかして?」
と思って調べたらあった。

そもそもの話として、あまりこの機能使われてないんじゃないかとも思ったので、利用例としてこれを見ていただければ幸い。

正直な話、ログを読まずに閉じて、
「Pushできません、助けてください」
や、
「コンフリクト起こしたんですが、後よろしくお願いします」
とぶん投げられるので、これを出したところで読まれもせずにTortoiseGitの画面を閉じられて終了だろうが、ないよりはましだと思いたい。

三十路手前での初めてのsedだったが、Vimをやってたおかげで飲み込みは案外容易だった。

参考資料

追記

こっちを使ったほうがスマートだった?
現在のブランチ名を取得するコマンド

追記2 2020-02-20T15:00

この方法を使うと、説明文表示を共有できるかも(やってない。やる権限がない。現場も違う)。

サーバーサイドフックを組んで抑制するのもありだったな(やってない。当時の現場でも権限がなかった)。

2
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?