第7章
提案して取り込む
枝の上で作ったものを、いきなり本流へ入れるのではなく、いったん「こう変えたいです」と提案してから入れます。 これが Pull Request です。ひとりで使っていても、入れる前に自分の変更を一覧で見直せるので、 間違いに気づけます。ターミナルと AI エージェントはブラウザで GitHub の画面から、VS Code は第3章で入れた 拡張機能で VS Code の画面から、同じ提案を出します。
- この章が終わると
- 自分の変更を Pull Request として出し、merge できる状態
- 用意するもの
- 第6章で作った枝(この章では
add-usageと呼びます)。 その枝に、README を直した記録が1つある状態から始めます。
この章の進め方を選んでください
同じことを3つのやり方で説明します。どれを選んでも、できあがるものは同じです。 あとから何度でも変えられます。
ターミナル:黒い画面に命令を打ちます。遠回りに見えますが、Git が何をしているかがそのまま見えるので、あとで困ったときに自分で調べられるようになります。
VS Code:エディタ(VS Code)の画面で、ボタンを押して進めます。コマンドを覚えなくても同じことができます。中で動いているのは、ターミナルで打つのと同じ Git です。
AI エージェント:やりたいことを日本語で伝えて、AI に代わりにやってもらいます。ここでは Claude Code を例にしますが、載せている指示文は他のエージェントでもほとんどそのまま使えます。
下にスクロールすると、手順が1つずつ再生されます。見逃したら、スクロールを戻せば同じところが巻き戻ります。 ターミナルと AI エージェントは、前半(枝を GitHub へ送るところ)だけが分かれ、後半の Pull Request はブラウザの同じ画面です。 VS Code は最後まで VS Code の中で進めます。
ターミナルで進める
01 / 12
第6章の続きです。add-usage という枝で作業したところから始めます。
ターミナルを開いて、第3章で持ってきたフォルダーにいる状態です。
02 / 12
いまどこにいるかを確かめます。add-usage にいて、直したところは残っていません。
第4章のときと違い、「up to date」の行が出ません。この枝はまだ GitHub 側に無く、比べる相手がいないからです。
03 / 12
記録を見ます。第6章で作った記録が一番上にあります。
左の英数字は環境ごとに違います。同じ手順をなぞっても、同じ文字列にはなりません。
04 / 12
この枝を GitHub へ送ります。-u は「この枝の送り先はここ」と覚えさせる印です。
次からは git push だけで送れます。送り先の名前 origin は第3章で出てきたものと同じです。
05 / 12
ブラウザで GitHub のリポジトリを開きます。送った直後は、黄色い帯が出ています。
この帯は枝を送ってからしばらくのあいだ出ます。出ていなくても、Pull requests タブから同じことができます。
06 / 12
Compare & pull request を押します。提案を作る画面に変わります。
Pull Request は「この枝の変更を、こっちの枝へ入れてください」という提案です。出しただけでは何も変わりません。
07 / 12
base が main、compare が add-usage になっていることを確かめます。Able to merge と出ていれば、そのまま入れられます。
base が「入れる先」、compare が「入れたいもの」です。ここを取り違えると、逆向きの提案になります。
08 / 12
タイトルを書きます。何をしたのかが1行で分かるように書きます。
下の欄には「なぜそうしたか」を書きます。空のままでも出せますが、読む人(あとの自分)のために1行でも書いておくと違います。
09 / 12
Create pull request を押します。提案ができました。
#1 という番号が付きます。この番号で、あとから何度でも呼び出せます。
10 / 12
Files changed を押して、何が変わるのかを自分の目で見ます。
緑の行が増えた行です。ひとりで使っているときも、ここを見る癖をつけると間違いに気づけます。
11 / 12
Conversation に戻り、緑の Merge pull request を押します。
押すと確認の欄が出るので、続けて Confirm merge を押します。既定は Create a merge commit(そのまま記録を足す)です。
12 / 12
取り込まれました。Delete branch を押して、役目の終わった add-usage を片づけます。
消しても記録は残ります。押し間違えても Restore branch で戻せます。手元の枝はまだ残っているので、それは第8章で片づけます。
01 / 12
第6章の続きです。add-usage という枝で作業したところから始めます。
ターミナルを開いて、第3章で持ってきたフォルダーにいる状態です。
~/Documents/hello-github02 / 12
いまどこにいるかを確かめます。add-usage にいて、直したところは残っていません。
第4章のときと違い、「up to date」の行が出ません。この枝はまだ GitHub 側に無く、比べる相手がいないからです。
~/Documents/hello-github03 / 12
記録を見ます。第6章で作った記録が一番上にあります。
左の英数字は環境ごとに違います。同じ手順をなぞっても、同じ文字列にはなりません。
~/Documents/hello-github04 / 12
この枝を GitHub へ送ります。-u は「この枝の送り先はここ」と覚えさせる印です。
次からは git push だけで送れます。送り先の名前 origin は第3章で出てきたものと同じです。
~/Documents/hello-github05 / 12
ブラウザで GitHub のリポジトリを開きます。送った直後は、黄色い帯が出ています。
この帯は枝を送ってからしばらくのあいだ出ます。出ていなくても、Pull requests タブから同じことができます。
https://github.com/practice-learner/hello-github06 / 12
Compare & pull request を押します。提案を作る画面に変わります。
Pull Request は「この枝の変更を、こっちの枝へ入れてください」という提案です。出しただけでは何も変わりません。
https://github.com/practice-learner/hello-github/compare/main...add-usage07 / 12
base が main、compare が add-usage になっていることを確かめます。Able to merge と出ていれば、そのまま入れられます。
base が「入れる先」、compare が「入れたいもの」です。ここを取り違えると、逆向きの提案になります。
https://github.com/practice-learner/hello-github/compare/main...add-usage08 / 12
タイトルを書きます。何をしたのかが1行で分かるように書きます。
下の欄には「なぜそうしたか」を書きます。空のままでも出せますが、読む人(あとの自分)のために1行でも書いておくと違います。
https://github.com/practice-learner/hello-github/compare/main...add-usage09 / 12
Create pull request を押します。提案ができました。
#1 という番号が付きます。この番号で、あとから何度でも呼び出せます。
https://github.com/practice-learner/hello-github/pull/110 / 12
Files changed を押して、何が変わるのかを自分の目で見ます。
緑の行が増えた行です。ひとりで使っているときも、ここを見る癖をつけると間違いに気づけます。
https://github.com/practice-learner/hello-github/pull/111 / 12
Conversation に戻り、緑の Merge pull request を押します。
押すと確認の欄が出るので、続けて Confirm merge を押します。既定は Create a merge commit(そのまま記録を足す)です。
https://github.com/practice-learner/hello-github/pull/112 / 12
取り込まれました。Delete branch を押して、役目の終わった add-usage を片づけます。
消しても記録は残ります。押し間違えても Restore branch で戻せます。手元の枝はまだ残っているので、それは第8章で片づけます。
https://github.com/practice-learner/hello-github/pull/1
VS Codeで進める
01 / 10
第6章の続きです。いまは main にいて、README.md に「使い方」の節はありません。
提案するのは、第6章で add-usage の枝に積んだ記録です。まずその枝へ移ります。
02 / 10
一番下の帯の main を押して、枝の一覧を出します。
03 / 10
add-usage を選びます。README.md に「使い方」の節が戻りました。
Pull Request は、いま立っている枝から作ります。
04 / 10
「変更」節の見出しにマウスを乗せます。✓ の右の、枝の印に + が付いたボタンが「Create Pull Request」です。
このボタンは、第3章で入れた GitHub Pull Requests 拡張が足したものです。出ていないときは、左端の GitHub のアイコンを押して、出てくる Sign in から GitHub にサインインします。
05 / 10
「Create Pull Request」を押します。左に Pull Request を作る欄が出ます。
Base が「入れる先」(main)、Merge が「入れたいもの」(add-usage)です。ブラウザで作るときの base と compare にあたります。Title には、枝に積んだ記録のメッセージが最初から入っています。
06 / 10
下の Description に、なぜそうしたかを1行書きます。
空のままでも出せますが、読む人(あとの自分)のために1行でも書いておくと違います。拡張の画面は英語のままです(日本語の訳が用意されていないため)。
07 / 10
Create を押します。提案ができて、右に Pull Request の画面が開きました。
#1 という番号が付きます。Pull Request は「この枝の変更を、こっちの枝へ入れてください」という提案で、出しただけでは何も変わりません。
08 / 10
Merge Pull Request を押します。取り込んだときに残す記録の、題名と説明を確かめる欄が出ます。
using method の Create Merge Commit は「取り込んだことを、記録を1つ足して残す」という意味です。ブラウザで取り込むときの既定と同じです。
09 / 10
Create Merge Commit を押します。取り込まれて、札が Merged に変わりました。
取り込まれたのは GitHub 側の main です。手元の main はまだ古いままで、それを受け取るのが第8章です。
10 / 10
Delete Branch... は、役目の終わった add-usage を片づけるボタンです。ここでは押さずに、第8章で使います。
押すと、GitHub 側の枝と手元の枝のどちらを消すかを聞かれ、あわせて GitHub の様子も聞きに行きます。手元へ受け取って中身を確かめてから消すほうが安全なので、第8章で受け取ってから押します。ここまでが第7章です。
01 / 10
第6章の続きです。いまは main にいて、README.md に「使い方」の節はありません。
提案するのは、第6章で add-usage の枝に積んだ記録です。まずその枝へ移ります。
hello-github02 / 10
一番下の帯の main を押して、枝の一覧を出します。
hello-github03 / 10
add-usage を選びます。README.md に「使い方」の節が戻りました。
Pull Request は、いま立っている枝から作ります。
hello-github04 / 10
「変更」節の見出しにマウスを乗せます。✓ の右の、枝の印に + が付いたボタンが「Create Pull Request」です。
このボタンは、第3章で入れた GitHub Pull Requests 拡張が足したものです。出ていないときは、左端の GitHub のアイコンを押して、出てくる Sign in から GitHub にサインインします。
hello-github05 / 10
「Create Pull Request」を押します。左に Pull Request を作る欄が出ます。
Base が「入れる先」(main)、Merge が「入れたいもの」(add-usage)です。ブラウザで作るときの base と compare にあたります。Title には、枝に積んだ記録のメッセージが最初から入っています。
hello-github06 / 10
下の Description に、なぜそうしたかを1行書きます。
空のままでも出せますが、読む人(あとの自分)のために1行でも書いておくと違います。拡張の画面は英語のままです(日本語の訳が用意されていないため)。
hello-github07 / 10
Create を押します。提案ができて、右に Pull Request の画面が開きました。
#1 という番号が付きます。Pull Request は「この枝の変更を、こっちの枝へ入れてください」という提案で、出しただけでは何も変わりません。
hello-github08 / 10
Merge Pull Request を押します。取り込んだときに残す記録の、題名と説明を確かめる欄が出ます。
using method の Create Merge Commit は「取り込んだことを、記録を1つ足して残す」という意味です。ブラウザで取り込むときの既定と同じです。
hello-github09 / 10
Create Merge Commit を押します。取り込まれて、札が Merged に変わりました。
取り込まれたのは GitHub 側の main です。手元の main はまだ古いままで、それを受け取るのが第8章です。
hello-github10 / 10
Delete Branch... は、役目の終わった add-usage を片づけるボタンです。ここでは押さずに、第8章で使います。
押すと、GitHub 側の枝と手元の枝のどちらを消すかを聞かれ、あわせて GitHub の様子も聞きに行きます。手元へ受け取って中身を確かめてから消すほうが安全なので、第8章で受け取ってから押します。ここまでが第7章です。
hello-github
AI エージェントで進める
01 / 12
第6章の続きです。add-usage の枝で、エージェントを起動したところから始めます。
エージェントは、いまいるフォルダーと、いまいる枝を見て動きます。
02 / 12
いまの枝を GitHub へ送ってほしい、と頼みます。
まとめて頼むときほど、次に出てくる確認をよく読んでください。読まずに許可するのがいちばん危ない使い方です。
03 / 12
エージェントは、実行する前に打つコマンドを見せて許可を求めてきます。
-u が付いているか、送り先が origin になっているかを見ます。違っていたら断って言い直します。
04 / 12
内容に問題がなければ許可します。枝が GitHub 側にもできました。
new branch と出ているのが、GitHub 側に枝ができたという意味です。
05 / 12
ブラウザで GitHub のリポジトリを開きます。送った直後は、黄色い帯が出ています。
この帯は枝を送ってからしばらくのあいだ出ます。出ていなくても、Pull requests タブから同じことができます。
06 / 12
Compare & pull request を押します。提案を作る画面に変わります。
Pull Request は「この枝の変更を、こっちの枝へ入れてください」という提案です。出しただけでは何も変わりません。
07 / 12
base が main、compare が add-usage になっていることを確かめます。Able to merge と出ていれば、そのまま入れられます。
base が「入れる先」、compare が「入れたいもの」です。ここを取り違えると、逆向きの提案になります。
08 / 12
タイトルを書きます。何をしたのかが1行で分かるように書きます。
下の欄には「なぜそうしたか」を書きます。空のままでも出せますが、読む人(あとの自分)のために1行でも書いておくと違います。
09 / 12
Create pull request を押します。提案ができました。
#1 という番号が付きます。この番号で、あとから何度でも呼び出せます。
10 / 12
Files changed を押して、何が変わるのかを自分の目で見ます。
緑の行が増えた行です。ひとりで使っているときも、ここを見る癖をつけると間違いに気づけます。
11 / 12
Conversation に戻り、緑の Merge pull request を押します。
押すと確認の欄が出るので、続けて Confirm merge を押します。既定は Create a merge commit(そのまま記録を足す)です。
12 / 12
取り込まれました。Delete branch を押して、役目の終わった add-usage を片づけます。
消しても記録は残ります。押し間違えても Restore branch で戻せます。手元の枝はまだ残っているので、それは第8章で片づけます。
01 / 12
第6章の続きです。add-usage の枝で、エージェントを起動したところから始めます。
エージェントは、いまいるフォルダーと、いまいる枝を見て動きます。
~/Documents/hello-github02 / 12
いまの枝を GitHub へ送ってほしい、と頼みます。
まとめて頼むときほど、次に出てくる確認をよく読んでください。読まずに許可するのがいちばん危ない使い方です。
~/Documents/hello-github03 / 12
エージェントは、実行する前に打つコマンドを見せて許可を求めてきます。
-u が付いているか、送り先が origin になっているかを見ます。違っていたら断って言い直します。
~/Documents/hello-github04 / 12
内容に問題がなければ許可します。枝が GitHub 側にもできました。
new branch と出ているのが、GitHub 側に枝ができたという意味です。
~/Documents/hello-github05 / 12
ブラウザで GitHub のリポジトリを開きます。送った直後は、黄色い帯が出ています。
この帯は枝を送ってからしばらくのあいだ出ます。出ていなくても、Pull requests タブから同じことができます。
https://github.com/practice-learner/hello-github06 / 12
Compare & pull request を押します。提案を作る画面に変わります。
Pull Request は「この枝の変更を、こっちの枝へ入れてください」という提案です。出しただけでは何も変わりません。
https://github.com/practice-learner/hello-github/compare/main...add-usage07 / 12
base が main、compare が add-usage になっていることを確かめます。Able to merge と出ていれば、そのまま入れられます。
base が「入れる先」、compare が「入れたいもの」です。ここを取り違えると、逆向きの提案になります。
https://github.com/practice-learner/hello-github/compare/main...add-usage08 / 12
タイトルを書きます。何をしたのかが1行で分かるように書きます。
下の欄には「なぜそうしたか」を書きます。空のままでも出せますが、読む人(あとの自分)のために1行でも書いておくと違います。
https://github.com/practice-learner/hello-github/compare/main...add-usage09 / 12
Create pull request を押します。提案ができました。
#1 という番号が付きます。この番号で、あとから何度でも呼び出せます。
https://github.com/practice-learner/hello-github/pull/110 / 12
Files changed を押して、何が変わるのかを自分の目で見ます。
緑の行が増えた行です。ひとりで使っているときも、ここを見る癖をつけると間違いに気づけます。
https://github.com/practice-learner/hello-github/pull/111 / 12
Conversation に戻り、緑の Merge pull request を押します。
押すと確認の欄が出るので、続けて Confirm merge を押します。既定は Create a merge commit(そのまま記録を足す)です。
https://github.com/practice-learner/hello-github/pull/112 / 12
取り込まれました。Delete branch を押して、役目の終わった add-usage を片づけます。
消しても記録は残ります。押し間違えても Restore branch で戻せます。手元の枝はまだ残っているので、それは第8章で片づけます。
https://github.com/practice-learner/hello-github/pull/1
この章で覚えること
- 1
送るのと、提案するのは別のことです。 push で枝が GitHub 側にできますが、本流には何も入っていません。 入れてよいかを決めるのが Pull Request です。
- 2
base と compare を取り違えないこと。 base が入れる先、compare が入れたいものです(VS Code の拡張では Base と Merge)。逆にすると、まったく別の提案になります。
- 3
取り込んでも、手元の枝はそのまま残ります。 ブラウザの Delete branch で消えるのは GitHub 側の枝だけです。手元の枝を片づけるのは第8章です (VS Code では、GitHub 側の枝も第8章でまとめて片づけます)。
公式の説明は GitHub のプルリクエストの作成とプルリクエストのマージにあります。VS Code で使っている拡張機能の説明はGitHub Pull Requests 拡張機能にあります。