リポジトリ
リポジトリは、ファイルとその変更の履歴(コミット)をまとめて入れておく場所です。
自分のPCにある「ローカルリポジトリ」と、チームで共有する「リモートリポジトリ」があり、「リポジトリに上げる」は、手元のコミットを共有のほうへ送ることです。
- リポジトリは、ファイルとその変更の履歴をまとめて入れておく場所(Gitの保管庫)
- 自分のPCにある「ローカルリポジトリ」と、チームで共有する「リモートリポジトリ」がある
- clone=リモートを履歴ごと手元にコピー、push=手元のコミットをリモートへ送る(「上げる」)、pull=リモートの新しい変更を手元に取り込む
- 上げたものはチーム全員の手元に履歴ごとコピーされる
身近な例えで理解する
本部にはお店のマニュアルの原本があり、各店舗にはその写しがあります。店で見つけた改善は本部に送り、本部で改訂されたら各店の写しも新しくします。
- 本部の原本リモートリポジトリ
- 各店舗の写しローカルリポジトリ
- 新しい店が写しを一式もらうclone
- 改善を本部に送る/本部の改訂を受け取るpush/pull
ただし、本物のチェーン店では、送った改善案を本部が確かめてから原本を直します。Git の push では、送ったコミットがそのまま共有のほうに入ります。誰かが確かめてから入れるやり方は、次のページのプルリクエストです。
ちょっと確認
チームの共有リポジトリにある設定ファイルを直して、チームに届けるまでの順番に並べてください。
下のカードを、正しい順にタップしてください。
例えを外して、実際のしくみ
リポジトリの中身
ファイルそのものと、コミットの履歴です。手元では、作業しているフォルダの中の .git というフォルダに履歴がしまわれています
ローカルとリモート
clone・push・pull
git clone はリモートを履歴ごと手元にコピーします。git push は手元のコミットをリモートへ送り(「上げる」)、git pull はリモートの新しい変更を手元に取り込みます。コミットしただけでは、ほかの人には届きません
このページのまとめ
- リポジトリ
- ファイルと変更の履歴をまとめて入れておく場所
- ローカル/リモート
- 自分のPCのリポジトリ/チームで共有するリポジトリ
- clone
- リモートを履歴ごと手元にコピーすること
- push/pull
- 手元のコミットを送る(上げる)/リモートの変更を取り込む
先輩のひとことの意味
先輩「コミットできたら、チームのリポジトリに上げといて」
「手元(ローカルリポジトリ)に記録したコミットを、チームで共有しているリモートリポジトリに push して、みんなが見られるようにして」という意味です。
練習問題で確かめる
「コミットしたのに、先輩から『リポジトリに上がってないよ』と言われた」いちばんあやしいのは?
チームのリモートリポジトリに上げてはいけないものは?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。