Help us understand the problem. What is going on with this article?

息をするようにプルリクするための6つのGitの使い方

More than 5 years have passed since last update.

ブログ記事に「息をするようにプルリクするための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をします。

haracane
キャッシュバック賃貸のCTOやってます。興味分野はRails, Elasticsearch, Hadoopなど。
http://blog.enogineer.com
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