LESSON 30分

ストーリー

先輩
フォルダの準備ができたね。次はこのフォルダをGitリポジトリにしよう
あなた
リポジトリって、前に聞いた『変更履歴を保存する場所』ですよね?
先輩
そう!git initっていうコマンドを使うと、普通のフォルダがリポジトリに変わるんだ

git initとは

git init は、現在のフォルダをGitリポジトリとして初期化するコマンドです。

git init

このコマンドを実行すると:

  • .git という隠しフォルダが作成される
  • Gitがこのフォルダを管理し始める
  • 変更履歴を記録できるようになる

実際にやってみよう

Step 1: 作業フォルダにいることを確認

pwd

出力例:

/Users/yourname/my-first-git

前のセクションで作った my-first-git フォルダにいることを確認してください。

Step 2: git initを実行

git init

出力:

Initialized empty Git repository in /Users/yourname/my-first-git/.git/

おめでとうございます! これであなたのフォルダはGitリポジトリになりました。


何が起きたのか

.gitフォルダが作成された

git init を実行すると、.git という隠しフォルダが作られます。

ls -la

出力:

total 8
drwxr-xr-x  4 user  staff  128  1月 27 10:00 .
drwxr-xr-x  5 user  staff  160  1月 27 09:55 ..
drwxr-xr-x  9 user  staff  288  1月 27 10:00 .git
-rw-r--r--  1 user  staff   11  1月 27 09:56 hello.txt

-la オプションで隠しファイル(. で始まるファイル)も表示されます。

.gitフォルダの中身

ls .git

出力:

HEAD  config  description  hooks  info  objects  refs

この中にGitのすべての情報が保存されます。

ファイル/フォルダ役割
objects/コミットやファイルの実体を保存
refs/ブランチやタグの参照を保存
HEAD現在のブランチを記録
configこのリポジトリの設定

今はこれらの詳細を覚える必要はありません。「.gitフォルダが重要」ということだけ覚えておいてください。


リポジトリの状態を確認しよう

Gitには、現在の状態を確認するコマンドがあります。

git status

出力:

On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hello.txt

nothing added to commit but untracked files present (use "git add" to track)

出力の意味

表示意味
On branch main「main」というブランチにいる
No commits yetまだ何もコミット(記録)していない
Untracked files追跡されていないファイルがある
hello.txtこのファイルがまだ追跡されていない

Untracked(追跡されていない) = Gitがまだ管理していない


イメージで理解しよう

git init前

graph TD
    Dir1["my-first-git/ ← ただのフォルダ"]
    Hello1["hello.txt"]

    Dir1 --> Hello1

    style Dir1 fill:#f3f4f6,stroke:#9ca3af,color:#374151
    style Hello1 fill:#f3f4f6,stroke:#9ca3af,color:#374151

git init後

graph TD
    Dir2["my-first-git/ ← Gitリポジトリ!"]
    GitDir[".git/ ← Gitの管理情報"]
    Objects["objects/"]
    Refs["refs/"]
    Etc["..."]
    Hello2["hello.txt ← まだ追跡されていない"]

    Dir2 --> GitDir
    Dir2 --> Hello2
    GitDir --> Objects
    GitDir --> Refs
    GitDir --> Etc

    style Dir2 fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#064e3b
    style GitDir fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
    style Objects fill:#f3f4f6,stroke:#9ca3af,color:#374151
    style Refs fill:#f3f4f6,stroke:#9ca3af,color:#374151
    style Etc fill:#f3f4f6,stroke:#9ca3af,color:#374151
    style Hello2 fill:#fee2e2,stroke:#dc2626,color:#991b1b

注意:.gitフォルダを削除しないで!

.git フォルダを削除すると、すべての変更履歴が失われます。

# 絶対にやらないで!
rm -rf .git  # これをやるとすべてが消える

もし間違えて削除してしまったら、git init をもう一度実行すればリポジトリは作り直せます。ただし、過去のコミット履歴はすべて失われます。


よくある間違い

間違い1: 別のフォルダでgit initしてしまった

pwd  # 現在地を確認

意図しないフォルダでリポジトリを作ってしまった場合は、.git フォルダを削除してください。

rm -rf .git

間違い2: 二重にgit initしてしまった

git init

すでにリポジトリのフォルダで git init を実行しても、既存のリポジトリは上書きされません。メッセージが Reinitialized existing Git repository... になるだけで、履歴は保持されます。


ハンズオン

以下のコマンドを順番に実行してください。

# 1. 現在地を確認
pwd

# 2. リポジトリを初期化
git init

# 3. .gitフォルダを確認
ls -la

# 4. 状態を確認
git status

まとめ

ポイント内容
git initフォルダをGitリポジトリに変換
.git フォルダGitの管理情報が保存される場所
git statusリポジトリの現在の状態を確認
UntrackedまだGitに追跡されていないファイル

チェックリスト

  • git init を実行できた
  • .git フォルダが作成されたことを確認できた
  • git status でリポジトリの状態を確認できた

次のステップへ

リポジトリの作成ができましたね。

でも、hello.txt はまだ「Untracked(追跡されていない)」状態です。

次のセクションでは、git add コマンドを使って、ファイルをGitの管理対象に追加する方法を学びます。


推定読了時間: 30分