GitHubでPull Requestを使わないのはもったいないと思ったので簡単な使い方をメモしておく
GitHubでチーム開発なんて考えだすと、commitやpushだけではレビューをする時にもどかしさを感じることがあるかと思います。
GitHubやGitコマンドは使ったことあるけど、Pull Requestは使ったことない。という人向けに簡単に使い方をメモしておきます。
GitHubの基本的な使い方から学びたい場合は以下をどうぞ
githubことはじめ<複数ユーザでpushするまでの初期設定> - ぽぽぽぽーんのネットワークとOSS
GitHub Flowとは?
GitHub Flowは定期的にプロダクション環境へのデプロイを毎日行う際に有効です。以下、公式からの抜粋です。
- masterブランチのものは何であれデプロイ可能である
- 新しい何かに取り組む際は、説明的な名前のブランチをmasterから作成する(例:new-oauth2-scopes)
- 作成したブランチにローカルでコミットし、サーバー上の同じ名前のブランチにも定期的に作業内容をpushする
- フィードバックや助言が欲しい時、ブランチをマージしてもよいと思ったときは、 プルリクエスト を作成する
- 他の誰かがレビューをして機能にOKを出してくれたら、あなたはコードをmasterへマージすることができる
- マージをしてmasterへpushしたら、直ちにデプロイをする
上記にあるように、チーム開発においてPull Requestを覚えておく必要があります。
具体的にPull Requestまでの流れを説明する前に全体像を書いておきます。
masterブランチはチームで管理するもので、Pull Requestをベースに機能実装されていきます。ブランチは機能実装のたびに作成され、複数同時に立ち上がるのでもう少し複雑になります。ただ、一度覚えておけば多少複雑になっても応用が利きますのでシンプルに手順を確認します。
1. ブランチを作成する
GitHub Flowにあるように、新機能実装など新しい何かに取り組む際は説明的な名前のブランチをmasterから作成します。
新しくわかりやすい名前のブランチを作成します。
[komei@localhost aaa]$ git branch -a development * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/upstream/master remotes/upstream/update-aaa
[komei@localhost aaa]$ git checkout -b update-bbb Switched to a new branch 'update-bbb' [komei@localhost aaa]$ [komei@localhost aaa]$ git branch -a * update-bbb development master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/upstream/master remotes/upstream/update-aaa
自分が作業していることをチームメンバーに知らせるために、空のコミット(--allow-emptyオプション)をしておきます。このようにGitHub Flowでは定期的にPushすることを推奨します。
[komei@localhost aaa]$ git commit --allow-empty -m "empty for pull-req"
2. Pull Requestを使ってみる
Pull Requestを実施するタイミングは2つです。
- ブランチで更新した内容をmasterに反映させたい時
- ブランチで更新している内容についてレビューを求めたい時
2は[WIP]と記載し作成中だとわかるようにした上でレビューを求めます。 1のようにmasterに反映させたい場合がスタンダードなPull Requestかと思いますので、ここでは1のケースを題材に説明します。
実は手順は非常に簡単です。
- commit
- push
- compare & merge
ローカルブランチでcommitする
通常通りローカルブランチでcommitします。
[komei@localhost aaa]$ git commit -m "add ccc"
リモートブランチへpushする
先ほどのローカルブランチでコミットした内容を、リモートブランチへpushします。同様にupdate-bbbという名前でpushします。
[komei@localhost aaa]$ git push origin update-bbb
GitHub上でcompare & mergeをする
ここではgitコマンドではなく、ブラウザでgithub.comにアクセスして作業をします。hubコマンドを使用することも可能ですが、compareはブラウザで見た方が個人的には分かり易いので、この方法を使用します。
以上で完了です。masterブランチに更新が反映されていると思います。
シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。
GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)
- 作者: 大塚弘記
- 出版社/メーカー: 技術評論社
- 発売日: 2014/03/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (14件) を見る
- 作者: Junio C Hamano,大塚弘記,川口耕介,kana,大竹智也(tomoya),尾藤正人,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2013/04/10
- メディア: 大型本
- クリック: 1回
- この商品を含むブログ (11件) を見る