ブログ記事に「息をするようにプルリクするための6つのGitの使い方」をまとめました。
こちらは短めにその概要です。元記事の方にはサンプルスクリプトや実行例を追加しています。
1. 最初は空コミット
git commit --allow-empty
を実行すると空のコミットを作ることができます。
作業を始める時はまず空コミットでプルリクを作って、実装中のメモ書きをしたりしています。
なお、このプルリクにはWIP(Work in progress)ラベルをつけて作業中ということがわかるようにしています。
2. コミットメッセージにチケット番号を含める
git commit -m 'TICKET-123 コミットメッセージ'
のようにコミットの先頭にチケット番号を追加するようにしています。
これでチケット番号でプルリクを検索しやすくなりますし、次のプルリクエストメッセージ作成の自動化にも役に立ちます。
なお、チケット番号の入力はチケット番号を自動的に追加するgit hookを使って自動化しています。
3. プルリクエストのテンプレートを使う
プルリクエストのタイトルや内容を毎回入力するのは面倒なので、テンプレートを自動作成するシェル関数を作っています。
例えば
$ pr-url
https://github.com/haracane/sample/compare/master...develop?title=TICKET-123&body=...
という感じにURLを出力するようにしていています。
4. レビューを受けたらgit rebase -i
で空edit
プルリクを出したら次の機能をどんどん作っていきます。
そうするとだいたいプルリク後にコミット追加した後でレビューが返ってくることになります。
レビュー内容を反映するには過去コミットを追加します。
具体的にはgit rebase -i
で空editしています。
5. 過去コミットをpushする
レビュー内容を反映したらプルリク中のブランチが新しいコミットを指すように変更します。
6. masterと乖離して来たら遡ってgit merge master
チームで開発していると自分が変更中の箇所がmasterで変更されたりします。
そのままだとコンフリクトしてマージできなくなったりするので、master
と乖離して来たら適宜解消します。
こういう時は遡ってgit merge master
をしています。
具体的にはgit rebase -i
して先頭行でx git merge master
をします。