第02回: git initとgit clone — 「新しく始める」のか「既存を受け取る」のかを区別する

章: 第1章: Gitの土台を作る

「とりあえず clone すればいい?」——最初に迷う入口を整理する

Gitを触り始めると、最初に出会うのが git initgit 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 statusgit diff を扱います。 Gitが今どんな状態を見ているのかを読めるようになると、操作の不安が一気に減ります。

Related Articles