0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Git入門】第7章 別の場所から取ってくる(クローンとプル)(TortoiseGit)

0
Last updated at Posted at 2026-11-02

この章では、GitHub のリポジトリを別のフォルダーにまるごとコピー(クローン)し、片方でプッシュしたコミットを、もう片方に取り込みます(プル)。GitHub の画面で直した変更も、同じようにプルで取り込みます。

この章で学ぶこと

  • GitHub のリポジトリをクローンする方法
  • GitHub にあるコミットを、自分のリポジトリに取り込む方法(プル)
  • GitHub の画面でファイルを直す方法
  • フェッチとプルの違い

7.1 この章で行うこと

ほかの人と一緒に作業するときは、ほかの人がプッシュしたコミットを、自分のリポジトリに取り込む必要があります。この章では、1人で次の2つの方法を使って、「ほかの人の変更」を作り、取り込む練習をします。

  • GitHub のリポジトリを別のフォルダーにクローンし、そこで直してプッシュする(別のパソコンで作業した場合と同じ)
  • GitHub の画面でファイルを直す(ほかの人がプッシュした場合と同じ)

クローンしたフォルダーで直してプッシュし、GitHub から元のリポジトリにプルする
図7-1 クローンしたリポジトリで直した変更を、元のリポジトリにプルする

7.2 クローンする

  1. ブラウザで GitHub の html-practice のリポジトリの画面を開きます。緑の「Code」のボタンをクリックし、「Local」のタブの「HTTPS」の URL を、右のコピーのボタンでコピーします。

    Code のボタンを押したところ。HTTPS の URL
    図7-2 Code のボタンを押したところ(赤枠:Code と HTTPS の URL)

  2. エクスプローラーで「ドキュメント」フォルダーを開き、何もない所を右クリックして、「Git クローン」を選びます(Windows 11 では「その他のオプションを確認」をクリックしてから選びます)。

  3. クローンの画面で、次の表のとおりに入力し、「OK」をクリックします。

    クローンの画面。URL とディレクトリ
    図7-3 クローンの画面(赤枠:URL とディレクトリ)

    項目 入力する値
    URL コピーした URL(https://github.com/ユーザー名/html-practice.git)
    ディレクトリ C:\Users\ユーザー名\Documents\html-practice-2
  4. 結果の画面に「成功」と表示されたら、「閉じる」をクリックします。

  5. 「ドキュメント」フォルダーに html-practice-2 フォルダーができ、中に git フォルダーなど、GitHub にあるファイルがすべて入っていることを確かめます。

  6. html-practice-2 フォルダーを右クリックして TortoiseGit → ログを表示 を選び、元のリポジトリと同じ履歴があることを確かめます。

【再確認】ディレクトリの名前を html-practice-2 にする

ディレクトリの欄には、最初、URL から作られた html-practice という名前が入ります。HTML入門を学んでいない人は、元のリポジトリが「ドキュメント」の html-practice なので、そのままでは同じ名前になってしまいます。どちらの人も、必ず html-practice-2 に書き換えてください。

クローンしたリポジトリには、ファイルだけでなく、これまでのコミット(履歴)もすべて入っています。また、クローン元の GitHub のリポジトリが、origin という名前のリモートとして自動で登録されています。第6章で行ったリモートの登録は要りません。

7.3 クローンした方で直してプッシュする

クローンしたリポジトリ(html-practice-2)を、別のパソコンのリポジトリとして使います。

  1. html-practice-2 の中の git/list.html を開き、4人目(田中 美咲)の行の後ろに、次の緑の行を書き足して保存します。元のリポジトリのファイルと間違えないように、エクスプローラーのアドレスバーで、html-practice-2 の中であることを確かめてください。
html-practice-2 の git/list.html(一部)
    <tr>
      <td>4</td>
      <td>田中 美咲</td>
      <td>開発部</td>
    </tr>
    <tr>
      <td>5</td>
      <td>佐藤 健太</td>
      <td>営業部</td>
    </tr>
  </table>
  1. html-practice-2 フォルダーを右クリックし、「Git コミット -> "main"」で、メッセージを 社員一覧に佐藤 健太を追加 にしてコミットします。
  2. 続けてプッシュします(コミットの結果の画面の「プッシュ」、または TortoiseGit → プッシュ)。

これで GitHub には、元のリポジトリに無いコミット「社員一覧に佐藤 健太を追加」があります。

7.4 元のリポジトリにプルする

  1. 元のリポジトリ(webapp または「ドキュメント」の html-practice)の git/list.html を開き、佐藤 健太の行がまだ無いことを確かめて、閉じます。

  2. 元のリポジトリのフォルダーを右クリックし、TortoiseGit → プル を選びます。

  3. プルの画面で、「リモート」が origin、「リモートブランチ」が main になっていることを確かめて、「OK」をクリックします。

    プルの画面。リモートに origin、リモートブランチに main
    図7-4 プルの画面(赤枠:リモートとリモートブランチ)

  4. 結果の画面に「成功」と表示されたら、「閉じる」をクリックします。

  5. 元のリポジトリの git/list.html を開き、佐藤 健太の行が入ったことを確かめます。ログの画面にも「社員一覧に佐藤 健太を追加」のコミットがあることを確かめます。

【便利な使い方】作業を始める前にプルする

ほかの人と同じリポジトリで作業するときは、作業を始める前にプルして、最新の状態にしてから直し始めます。古い状態のまま直すと、ほかの人の変更と同じ所を直してしまい、第9章で学ぶコンフリクトが起きやすくなります。

7.5 GitHub の画面で直した変更をプルする

GitHub の画面でも、ファイルを直してコミットできます。ここでは、ほかの人がプッシュした変更の代わりに、GitHub の画面で直します。

  1. ブラウザで GitHub の html-practice のリポジトリの画面を開き、git → list.html の順にクリックします。

  2. ファイルの中身の右上にある、鉛筆のアイコン(Edit this file)をクリックします。

    GitHub の list.html の画面。右上に鉛筆のアイコン
    図7-5 list.html の画面(赤枠:鉛筆のアイコン)

  3. 5人目(佐藤 健太)の行の後ろに、次の緑の行を書き足します。

GitHub の画面の git/list.html(一部)
    <tr>
      <td>5</td>
      <td>佐藤 健太</td>
      <td>営業部</td>
    </tr>
    <tr>
      <td>6</td>
      <td>鈴木 花子</td>
      <td>総務部</td>
    </tr>
  </table>
  1. 右上の「Commit changes...」をクリックします。

  2. 表示された画面の「Commit message」の欄を 社員一覧に鈴木 花子を追加 に書き換え、「Commit directly to the main branch」(main ブランチに直接コミットする)が選ばれていることを確かめて、「Commit changes」をクリックします。

    Commit changes の画面。メッセージと Commit directly to the main branch
    図7-6 Commit changes の画面(赤枠:メッセージと Commit directly to the main branch)

  3. 元のリポジトリのフォルダーを右クリックし、TortoiseGit → プル で、7.4 と同じようにプルします。

  4. 元のリポジトリの git/list.html に、鈴木 花子の行が入ったことを確かめます。

【知識メモ】クローンしたリポジトリは、この後使わない

html-practice-2 は、この章の練習のためにクローンしたものです。第8章からは、元のリポジトリだけを使います。html-practice-2 フォルダーは、フォルダーごと消してかまいません。消しても、元のリポジトリと GitHub のリポジトリには影響しません。

7.6 解説:フェッチとプル

GitHub からコミットを取ってくる操作には、フェッチとプルの2つがあります。

操作 すること
フェッチ(fetch) GitHub にあるコミットを取ってくるだけ。作業フォルダーのファイルは変わらない
プル(pull) フェッチしてから、取ってきたコミットを今のブランチに取り込む(マージする)。作業フォルダーのファイルが新しくなる

フェッチは、ほかの人がどんなコミットをプッシュしたかを、取り込む前に確かめたいときに使います(TortoiseGit → フェッチ)。取ってきたコミットは、ログの画面で見られます。ふだんは、プルを使えば十分です。プルの中で行われる「マージ」は、第9章で詳しく学びます。

7.7 うまくいかないときは

症状 考えられる原因と対処
クローンで「already exists and is not an empty directory」と表示される 同じ名前のフォルダーがすでにあります。ディレクトリの名前を html-practice-2 にしたかを確かめてください。
プルしたのに、ファイルが変わらない エディターでファイルを開いたままになっています。ファイルを開き直してください。プルの結果の画面に「Already up to date」(すでに最新)と表示された場合は、GitHub にまだコミットがありません。プッシュしたか、GitHub の画面でコミットしたかを確かめます。
プッシュで「rejected」と表示されて失敗する GitHub に、自分のリポジトリに無いコミットがあります。先にプルしてから、もう一度プッシュしてください。
プルで、ローカルの変更が上書きされると表示されて失敗する まだコミットしていない変更があり、プルで取り込むコミットと同じファイルを変えています。変更をコミットしてからプルします。コミットしたくない変更の場合の方法は、第9章で学びます。

そのほかのエラーは、付録B「よくあるエラーと対処法」を見てください。

7.8 まとめと確認問題

まとめ

  • 「Git クローン」で、GitHub のリポジトリを履歴ごとコピーする。クローン元は origin として自動で登録される
  • TortoiseGit →「プル」で、GitHub にあるコミットを今のブランチに取り込む
  • GitHub の画面では、鉛筆のアイコンでファイルを直し、「Commit changes」でコミットできる
  • フェッチは取ってくるだけ、プルは取ってきて取り込む。作業を始める前にプルする

確認問題

問1 クローンしたリポジトリで、第6章のようにリモートを登録する必要はありますか。

解答を見る

ありません。クローン元の GitHub のリポジトリが、origin という名前で自動で登録されるためです。

問2 フェッチとプルの違いを答えてください。

解答を見る

フェッチは、GitHub にあるコミットを取ってくるだけで、作業フォルダーのファイルは変わりません。プルは、フェッチしてから、取ってきたコミットを今のブランチに取り込むので、作業フォルダーのファイルが新しくなります。

問3 ほかの人と同じリポジトリで作業するとき、作業を始める前にプルするのはなぜですか。

解答を見る

古い状態のまま直すと、ほかの人の変更と同じ所を直してしまい、コンフリクトが起きやすくなるためです。


前へ

第6章 GitHub にあげる(プッシュ)(TortoiseGit)

次へ

第8章 ブランチと stash(TortoiseGit)

目次へ

【Git入門】目次

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?