LoginSignup
90
88

More than 5 years have passed since last update.

githubの運用戦術

Last updated at Posted at 2015-09-28

前提

過去のチームといまのチームでどうやっているかの話
master以外なら force push 可能なことが条件

コミットコメント

一行で概要

WhyやHowを書かせる。
WhereやWhatはいらん、diffを見ればわかる。

(必要なら)詳細

なんでここにこういうことをした?
という細かい説明。
時間に追われてdirty hackをせざるを得なかったのならここにも書いて欲しい。
書かずに変なことしたら俺がハリセン
issueだのメモだのへのリンクでもいい

諸注意

日本語OK
英語オンリーにするとみんな面倒臭がって little change for debug とか平然と入れる
詳しく書かせたいし読むのに苦労したくないので日本語を許す

コミットのタイミングと粒度

粒度はできるだけ細かく。
1コミット単位でレビュワーがお前何がしたかった?をみるため。
レビュー中にレビューが入った部分は歴史改変せずにそのままcommitしてpush。レビュワーが差分見るときに困る。

当然歴史が汚くなるので(特にレビュー指摘分のコミット)merge前に歴史改変して綺麗にすること。

ブランチ名

issue-XXX/(大分類名)/ブランチ名 で命名
issue-123/chat_timeline/extract-url_link みたいな感じ

issueに書くこと

Readyの条件
Doneの条件
背景、前提、どのUXやfeatureの充足を目的とするか
留意事項、注意すべきこと

Pull Requestに書くこと

PRの大雑把な目的
issue のリンク
PRの前提条件
PRで実装、変更、改廃した機能
PRの懸念事項
PRでやりたかったこと(目的)とどうしたか、なぜそうしたか、どのように実現したか
ほかにレビュワーに見て欲しいこと(この書き方ダサくない?もっといいやり方ない?ここどう思う?)

PRを作ったらチャットシステムに簡単な説明付けて依頼

@レビュワー URLリンクがタイムラインに貼られた時の概要展開機能のPRです。レビューお願いします
https://github.com/hoge/fuga/pull-request/123

こんな書き方したらハリセン

@レビュワー https://github.com/hoge/fuga/pull-request/123

merge

git fetch
git rebase origin/source_branch
git checkout source_branch
git merge --no-ff feature_branch
git push origin source_branch

merge --no-ff は必須。切り戻しが楽になる。

良い子のお約束条項

  • PRを長時間放置するレビュワーはハリセン
  • レビュワーが長時間放置せざるを得ない体勢を作ったリーダーもハリセン
  • 着手せず長期放置したissueは信用するな。チェックしろ。特にreadyとdoneの条件が信用できない。必要なら再度issueを作り直せ。
  • ブランチは一度切ってから長時間放置するな。鮮度が落ちないうちにmergeしろ。できないならreadyの判断か優先度判断したサイドの能力に問題がある。
  • ブランチ切ったからにはデプロイまでしなければいけないという考えは誤りだ。未知の懸念を発見したら手を挙げる勇気を持て。我々はすべてを先に見通す全智の能力は持たないが、新たに見つけた課題に対処する勇気と賢さはあるはずだ。
90
88
0

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
90
88