ストーリー
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分