プルリクエストを用いた共同開発
GitHub には、プルリクエストという、変更を提案するための機能があります。この機能を正しく利用することで、複数人による開発を円滑に進めることができます。
ブランチ
以前少し触れたとおり Git におけるブランチとは、ソースコードの分岐です。複数人で開発をする場合は、同じソースコードに複数人が同時に触れることのないよう、編集を枝分かれさせます。
作業しているブランチを切り替えるためには、git checkoutコマンドを使用します。ただし、ブランチがまだ存在せず、新しく作成することが必要な場合は-bオプションを付けます。
複数のブランチをひとつのブランチに統合する作業をマージといいます。分岐したブランチでいくつかのコミットをしたら、もとのブランチをチェックアウトした状態でgit mergeコマンドを実行しましょう。マージコミットが作成され、分岐先のブランチの変更を取り込むことができます。
プルリクエストを利用してマージする
Git のリポジトリを作成すると、通常masterブランチが作成されます。masterブランチは、すべての起点となる重要なブランチです。このため、masterブランチへのマージ作業は慎重に行うべきでしょう。GitHub のプルリクエスト機能を使用すれば、マージ前に様々な確認作業を行うことができます。
まずは、トピックブランチ(あるひとつの変更を加えるためのブランチ)を作成します。どのような変更を行うかを把握しやすいネーミングを心がけましょう。
$ git checkout -b add-something
続いて、トピックブランチ上で適当な編集を行い、コミットします。
$ git add -A
$ git commit -m "somethingを追加した"
リモートリポジトリにプッシュしましょう。
$ git push -u origin add-something
git checkoutコマン ドで作成したブランチは、まだローカルリポジトリにしか存在していないため、プッシュする際に-uオプションを指定して、リモートリポジトリを指定する必要があります。2 回目以降のプッシュではgit pushのみで構いません。
続いて、GitHub のPull requestsタブから、New pull requestもしくはNewをクリックします。

baseをマージ先のブランチ、compareを先ほど作成したブランチに設定し、プルリクエストのタイトルとメッセージを記入します。
先ほどの画面でCompare & pull requestのボタンが表示されていた場合は自動的にbaseとcompareが設定されます。

Create pull requestを選択すると、プルリクエストが作成されます。

Merge pull requestを押して確認すれば、変更がbaseに指定したブランチに反映されます。
$ git checkout master
$ git pull
masterブランチをプルして、変更が正しく反映されていることを確認しましょう。