goa へのプルリクエストの送り方 (プルリクエスト編)

goa へのプルリクエストの送り方 (プルリクエスト編) です。本記事の内容を実施する前に準備編を済ませておいてください。

1. リポジトリに移動

コンソールで以下のコマンドを実行します。

$ cd $GOPATH/src/github.com/goadesign/goa

2. master から新しいブランチをチェックアウト

コンソールで以下のコマンドを実行します。

$ git fetch
$ git checkout -b $BRANCHNAME origin/master

$BRANCHNAME には任意のブランチ名を入れてください。例えばブランチ名を foo-bar とする場合は以下の様になります。

$ git checkout -b foo-bar origin/master

3. ソースコードやテストコードを追加・修正しコミット

コードが書けたら、コンソールで以下のコマンドを実行し、コミットします。

$ git add .
$ git commit

もちろん複数回コミットしても構いません。

4. make できることを確認

コンソールで以下のコマンドを実行します。

$ make

これにはプログラムのビルドやテストコードの実行が含まれています。何らかのエラーが発生した場合はコードを修正しそれらを解決します。

5. 最新の master にリベース

コンソールで以下のコマンドを実行します。

$ git fetch
$ git rebase origin/master

6. リモートリポジトリにプッシュ

コンソールで以下のコマンドを実行します。

$ git push -u mine $BRANCHNAME

$BRANCHNAME には 2. で指定したブランチ名を入れてください。今回の例ではブランチ名を foo-bar としていたため以下の様になります。

$ git push -u mine foo-bar

7. GitHub でプルリクエストを作成

  1. https://github.com/goadesign/goa を開きます。
  2. Branch メニューの右にある New pull request をクリックします。

    f:id:tchssk:20170622142812p:plain

  3. Compare ページで compare across forks をクリックします。

    f:id:tchssk:20170622142834p:plain

  4. base fork が goadesign/goa になっていることを確認します。 base branch で master を選択します。

    f:id:tchssk:20170622142850p:plain

  5. head fork であなたがフォークしたリポジトリを、 compare branch で 6 でプッシュしたブランチを選択します。今回の例では head fork が tchssk/goa 、 compare branch が foo-bar になります。

    f:id:tchssk:20170622142910p:plain

  6. Title と Description を英語で入力します。

    f:id:tchssk:20170622142925p:plain

  7. Create pull request ボタンをクリックします。

    f:id:tchssk:20170622142949p:plain

参考

Creating a pull request from a fork - User Documentation

以上になります。あとはプルリクエストに対してレビューコメントがつくと思うので、議論しながらコードをブラッシュアップしていきましょう。すべて OK だと認めてもらえたらマージしてもらえるはずです!