Git勉強会(社内勉強会)でできなかった、Pull Requestについての説明です。
Pull Request の手順
手順
単純にソースコードを取得したいならgit clone http://{対象のGitHubリポジトリ}
で大丈夫です。もしコードの内容を修正したい場合はリポジトリをForkする必要があります。
- 対象のGitHubリポジトリをFork
- ローカルへclone(クローン)
- ローカルリポジトリで新規ブランチを作成
- 修正を加える(コミット)
- 作成したブランチをpush(プッシュ)する
- Pull RequestをGitHub上で作成
1. 対象のGitHubリポジトリをFork
対象のGitHubリポジトリをブラウザ上でアクセスします。
自分のアカウントに対象のリポジトリがForkされます。
Forkって何?
基本的にはgit clone
と何らかわらない機能です。
gitの機能ではなくGitHubのサービスの機能です。「GitHub上で他の人のリポジトリを修正するためのClone」とでも覚えておいてください。
※厳密な意味じゃないので、間違っていたら修正依頼よろしくおねがいします!
2. ローカルへclone(クローン)
自分のPC(ローカルPC)で編集するために、git clone
します。
SourceTreeを起動して、左上あたりにある「クローン」 -> 「URLからクローン」を選択。
1でForkしたリポジトリのURLをセットしてクローンしてください。
黒い画面が好きな人向けに、コマンドラインではこんな感じ
$ git clone https://github.com/Aipakazuma/test.git
3. ローカルリポジトリで新規ブランチを作成
修正前にブランチを作成します。
SourceTree上で「ブランチの作成」を選択して新規ブランチを作成してください。
$ git checkout -b test3
Switched to a new branch 'test3'
4.修正を加える(コミット)
修正を加えます。
修正したらgit add
してgit commit
してください。
自分のローカルでは空ファイル作成してコミットしました。
# 空ファイル作成
$ touch ozisan_tundereka_kaikaku.txt
# ステージに追加
$ git add ozisan_tundereka_kaikaku.txt
# コミット
$ git commit -m "add ozisan wo deredere ni shitai"
[test3 0ed309f] add ozisan wo deredere ni shitai
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ozisan_tundereka_kaikaku.txt
5.作成したブランチをpush(プッシュ)する
ブランチを選択してpush
してください。
$ git push origin test3
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 302 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To https://github.com/Aipakazuma/test.git
* [new branch] test3 -> test3
6.Pull RequestをGitHub上で作成
GitHubで自分のアカウントページから、Forkしたリポジトリへアクセスし、Pull Requestのボタンを選択。(「New pull request」っていう緑のボタン)
マージしたいブランチ(右側)を選択します。
次に作成したブランチを選択します。
するとこのような画面になる(はず)。次に「Create pull request」っていう緑のボタンを押してください。
すると入力欄が表示されるので、内容を入れます。
入力したら、右すみの「Create pull request」を押せばおk
ここまで。お疲れ様です。
git clone
した場合のpull request
この場合は、リポジトリに特定のユーザーを許可しないといけません。ので、面倒(?)なのでいいかなと。