今回は、リモートリポジトリをfork(フォーク)して開発を進める際の手順を解説したいと思います。fork以外の方法としてはclone(クローン)がありますが、cloneする作業はforkの手順に組み込まれているので、forkさえマスターしてしまえば簡単に理解できます。
forkの一連の流れ
まずはforkの一連の流れについておさらいしましょう。
forkで開発を進めるには、どのような手順を踏まなければならなかったでしょうか。
以下がforkでの開発を簡単にまとめた図になります。

ご覧の通りforkの開発では以下の手順を順番に実行しなければなりません。
- fork
- clone
- develop(コミット&プッシュ)
- プルリクエスト
forkとcloneの違いが曖昧な方は、こちらの記事も参考にしてみてください。

forkからプルリクエストを送るまで
では実際にリモートリポジトリをforkしてからプルリクエストを送るまでの流れを追っていきましょう。今回はsampleという名前の練習用リモートリポジトリをforkしていきます。

まずはforkしたいアプリケーション(今回の場合はsample)のGithubページに進み、forkボタンを押します。

すると、以下のようなモーダルが表示されます。forkしたいアカウントを選択し、次に進みましょう。

しばらくすると、forkが完了します。

続いて、forkしたリポジトリを自身のローカルにcloneしなければなりません。「code」ボタンをクリックし、cloneするためのURLをコピーしましょう。

その後、ターミナルで以下のコマンドを入力します。
% git clone コピーしたURL
これで自身のローカル環境にsampleという名前のアプリケーションがcloneできたことになります。コードを編集し、コミット&プッシュしてみましょう。
% git add .
% git commit -m 'edit sample.rb'
% git push origin master
すると、Github上に「Pull request」が表示されたと思います。

後はいつも通り、プルリクエストを送るための手順を実施します。


これで大元のリポジトリを管理している人にプルリクエストが送られたことになります。プルリクエストが承認されると、マージができるようになります。

手順まとめ
改めてforkの流れを簡潔にまとめると、以下のような流れになります。
- 大元のリポジトリからforkをクリック
- 自身のローカルにclone
- コードを編集し、コミット&プッシュ
- プルリクエスト作成
今回はリモートリポジトリをforkして開発を進める際の手順を解説しました。共同開発(チーム開発)をしていく上で、必須の知識になるのでぜひ覚えておきましょう。