👌

git cloneで何をしているのか

に公開

まえがき

最近、よく初心者の方にこういう質問をされます。
「git cloneってmainブランチの内容をダウンロードするんですよね?他のブランチはどうやってcloneするんですか?」

どうでしょうか、完全に間違っているということもないですが、慣れている人からすると質問自体がおかしいことに気づくと思います。

既存のgitの記事を読んで勉強しても分からなかったようなので分かりやすく解説してみます。

つくるのはテレビのケーブルみたいなもの

git cloneは大きく分けて以下の2点を行っています。

  1. ローカルリポジトリを作成してリモートリポジトリに接続できる状態にする。
  2. ブランチをチェックアウトしてプルする。

これをテレビに例えると、1) はテレビを買ってきて、壁のテレビアンテナ端子にケーブルをつなぐ行為になります。
2) はチャンネルボタンを押してそのチャンネルの放送を受信する行為になります。

Youtubeに例えるなら、1) はアカウントを作る行為です。
2) は動画を選んで再生する行為です。

一度 1) で接続情報が構築されると、以降はどのブランチでもチェックアウトできるようになります。
これはテレビのケーブルがチャンネルの数だけ本数を用意する必要がないのと同じです。
Youtubeで動画を視聴するのに、動画ごとにアカウント作らないといけないわけではないですよね?

ですから、git cloneははじめの1回だけでやれば全てのブランチにアクセス可能になっているというわけです。

おわりに

いかがだったでしょうか?
イメージが湧いてきましたか?
これがわかるようになってきたら、今度は作業ツリーや追跡ブランチなどを学んでいけばよいと思います。

株式会社ONE WEDGE

【Serverlessで世の中をもっと楽しく】 ONE WEDGEはServerlessシステム開発を中核技術としてWeb系システム開発、AWS/GCPを利用した業務システム・サービス開発、PWAを用いたモバイル開発、Alexaスキル開発など、元気と技術力を武器にお客様に真摯に向き合う価値創造企業です。
https://onewedge.co.jp

Discussion