GitHubを使った開発の方法であるリポジトリ共有式のPull Requestの手順を整理してみました。
全体の流れ
大まかに以下のような手順になります。
- ローカルにclone
- ブランチ作成 (名前はissue[Issueの番号]とか※)
- 修正完了後、Push
- masterにプルリク作成
- 確認したらmasterにマージ
※本家GitHub Flowでは説明的なブランチを作成するようですが。
ソースコードの取得
新たにcloneする場合
$ git clone <リポジトリ> #ソースコードを取得
以前にcloneをしたことがある場合
$ git checkout master #最新のリモートリポジトリを取得 $ git branch -a #ブランチを確認 * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git pull #手元のソースコードを最新化
開発作業の流れ
1. 以下のコマンドでブランチを作成し、 リモートにpushします。
$ git branch 現在のブランチを確認 * master $ git checkout -b issue1 #Pull Request用ブランチを作成 $ echo "# Hello, Pull Request" > README.md #見出しを変更 $ git add README.md #変更をadd $ git commit -m "Update README.md" #変更をcommit $ git push origin issue1 #リモートにpush
2. リポジトリを開いて、Pull Requestsをクリックします。
3. New pull requestをクリックします。
4. ブランチを指定して、Create pull requestをクリックし、masterに対してプルリクを実行します。
Pull Requestの確認
1. 以下のコマンドでチェックアウトし、 動作を確認します。
$ git fetch #変更を取得 $ git branch -a #ブランチを確認 * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/issue1 $ git checkout -b issue1 origin/issue1 #チェックアウト #ここから動作確認
2. リポジトリを開いて、Pull Requestsをクリックします。
3. Mergeをクリックし、masterに対してマージを実行します。
ブランチの削除
マージが出来たら、もうブランチが不要になるので消しておきます。
リモートブランチの削除はプルリクエストの画面からもできます。
$ git checkout master $ git branch -d issue1 #ローカルブランチの削除 $ git push origin :issue1 #リモートブランチの削除
マージ後にリモートブランチが消えてもgit branch -aに出てくる場合は、以下のコマンドを実行します。
$ git fetch --prune