Pull Requestの作成
この演習では、tpu-dsg/git-hands-onに対してPull Requestを作成します。
この演習を通して、以下のことを学びます。
- GitやGitHubの基本的な操作
- Pull Requestを使用した、GitHubにおける共同開発の流れ
リポジトリをフォーク
まずは、tpu-dsg/git-hands-onをフォークしましょう。
フォークは他のユーザーのリポジトリを自分のアカウントにコピーすることです。自分が書き込み権限を持たないリポジトリに対して変更を提案するには、フォークする必要があります。
- tpu-dsg/git-hands-onにアクセスします。
- ページ右上の「Fork」ボタンをクリックします。
Create fork
ボタンをクリックします。
リポジトリをクローン
次に、フォークしたリポジトリをローカルにクローンしましょう。クローンとは、リモートリポジトリをローカルにコピーすることです。
- フォークした自分のリポジトリの「Code」ボタンをクリックします。
HTTPS
を選択し、表示されているURLをコピーします。(SSHでセットアップを行っている場合はSSH
を選択します。)- リポジトリのファイルを置きたい場所でターミナルを開くか、コマンドを使用して移動します。
git clone
コマンドを使用してリポジトリをクローンします。<URL>
には先ほどコピーしたURLを貼り付けます。
ブランチを作成
次に、作業用のブランチを作成しましょう。ブランチを作成することで他の作業との競合を避けることができます。
以下のコマンドを使用して、main
ブランチから新しいブランチ「exercise
」を作成し切り替えます。
VSCodeでは、左下の「main」(現在のブランチ名)をクリックして「新しいブランチの作成」を選択します。そしてブランチ名「exercise
」を入力することでブランチを作成できます。
あなたは現在、exercise
ブランチにいます。コマンドを使って確認してみましょう。
ファイルを追加
次に、このリポジトリに新しいファイルを追加しましょう。
exercise/
ディレクトリに<GitHubユーザーID>.md
を作成します。例えば、The Octocatさんの場合はoctocat.md
となります。
Directory.github/
- …
Directorydocs/
- …
Directoryexercise/
- ユーザーID.md 作成するファイル
- LICENSE
- README.md
- …
作成したMarkdownファイルに、なにか内容を追加してみましょう。良い案が思いつかないなら、以下のような内容を追加してみてください。
変更をコミット
次に、作成したファイルをコミットしましょう。コミットとは変更を記録することです。これにより任意のコミット時の状態に戻すことができるようになります。
まず、コミットするファイルをステージングします。これはどの変更をコミットするかを指定する作業です。ここでは扱いませんが、行ごとに変更をステージングすることもできます。
VSCodeでは、ソース管理パネルから変更をステージングできます。
次に、コミットメッセージをつけ、ステージングした変更をコミットします。今回は先頭にexercise:
をつけることを必須とします。コミットメッセージは変更内容を簡潔に表すものであるべきです。
VSCodeでは、以下のようにコミットメッセージを入力してコミットできます。
さらに変更を加える
次に、作成したファイルにさらに変更を加えてみましょう。先ほど「吾輩は猫である」を追加した場合は、その続きを追加してみてください。
先ほどのコミットからの変更点を確認してみましょう。
VSCodeでは、ソース管理パネルから変更点を確認できます。
では、先ほどと同様にステージングしてコミットしてみましょう。
リモートリポジトリにプッシュ
次に、ローカルリポジトリの変更をリモートリポジトリにプッシュしましょう。プッシュとは、ローカルリポジトリの変更をリモートリポジトリに反映させることです。
VSCodeでは、ソース管理パネルの「Branchの発行」をクリックしてプッシュできます。
Pull Requestを作成
最後に、フォーク元のリポジトリに対してPull Requestを作成しましょう。Pull Requestとは、変更を取り込んでもらうためのリクエストです。取り込んでもらう前にレビューを受けることができます。
- 自分のGitHubリポジトリのページにアクセスします。
- 「Compare & pull request」ボタンをクリックします。
- 変更内容を記載し、「Create pull request」ボタンをクリックします。
Pull Requestが作成されると、リポジトリのメンテナーがレビューを行い、変更を取り込むかどうかを決定します。
マージされたら
マージされたら元のリポジトリに変更が反映されます。おめでとうございます!🎉
不要なブランチは削除しておきましょう。
VSCodeでは、「ソース管理」横のミートボールメニューからブランチを削除できます。