章: 第1章: Gitの土台を作る
「とりあえず clone すればいい?」——最初に迷う入口を整理する
Gitを触り始めると、最初に出会うのが git init と git clone です。
どちらもリポジトリを使い始めるコマンドですが、役割は同じではありません。
git init は新しく管理を始める操作、git clone は既にあるリポジトリを受け取る操作です。
この違いを曖昧にしたまま進むと、「このディレクトリで何をすればいいのか」が見えにくくなります。
git init を使う場面
自分で新しいプロジェクトを始めるときは git init を使います。
mkdir sample-app
cd sample-app
git init
これで現在のディレクトリが Git 管理下になります。内部では .git ディレクトリが作られ、以後この場所で履歴を持てるようになります。
たとえば、学習用にローカルで小さな検証を始めるときは git init が自然です。
git clone を使う場面
一方、すでに存在するリモートリポジトリを取得したいときは git clone を使います。
git clone https://github.com/example/sample-app.git
cd sample-app
これを実行すると、
- リポジトリの中身
- 過去の履歴
- リモート設定
がまとめて手元に入ります。
チーム開発では、ゼロから init するより、既存リポジトリを clone して参加する方が圧倒的に多いです。
使い分けを表で整理する
| コマンド | 使う場面 | 何が起きるか |
git init |
新規プロジェクトを自分で管理開始 | 現在のフォルダをGit管理化する |
git clone |
既存リポジトリを取得 | 履歴込みで丸ごと複製する |
この区別がついていれば、「今あるフォルダをGit管理したいのか」「既存プロジェクトを持ってきたいのか」をすぐ判断できます。
初心者がつまずきやすいポイント
ありがちなのが、clone したディレクトリの中でさらに git init をしてしまうことです。
これは通常不要です。clone した時点で、そのディレクトリにはすでに .git が入っています。
また、init しただけでは履歴はまだ1件もありません。Git管理を始めただけで、記録そのものは commit して初めて作られます。
チェックポイント:
initは「管理開始」、cloneは「既存の履歴を受け取る」と一言で説明できるようにしておきましょう。
まとめ & 次のステップ
git initは新規にGit管理を始めるコマンドgit cloneは既存リポジトリを履歴ごと取得するコマンドclone済みのディレクトリで通常git initは不要initしただけでは履歴はまだ作られない- まずは「新規作成」か「既存取得」かで使い分ける
次回は git status と git diff を扱います。 Gitが今どんな状態を見ているのかを読めるようになると、操作の不安が一気に減ります。