章: 第2章: 履歴を読み解く
ファイル操作はOSだけで完結しない
エディタやFinderでファイルを削除・移動すること自体はできます。しかしGit管理下では、それだけでは「Gitにどう認識されるか」まで意識する必要があります。
git rm と git mv は、ファイル操作とGitの状態変更を一緒に行うためのコマンドです。
git rm の役割
git rm old-file.php
これを実行すると、
- ファイルが作業ディレクトリから削除される
- 削除がステージされる
という2つが一度に起きます。
単にファイルを消しただけでなく、「この削除を次のコミットに含める」という状態まで進むのがポイントです。
git mv の役割
git mv old-name.php new-name.php
これで、ファイル名変更や移動をGitにわかる形で進められます。
実際にはGitは内容差分から移動を推測することもありますが、操作意図を明確にする意味でも git mv を使う方がわかりやすい場面は多いです。
よくあるパターン
| やりたいこと | コマンド |
| Git管理下のファイルを削除したい | git rm ファイル名 |
| Git管理下のファイル名を変えたい | git mv 旧名 新名 |
| ディレクトリごと移動したい | git mv 旧ディレクトリ 新ディレクトリ |
操作後は必ず git status を見て、Gitが意図通り認識しているか確認しましょう。
実務で大事な視点
削除や移動は、あとから見たときに影響範囲が大きい変更になりやすいです。
そのため、
- 本当に削除してよいか
- 参照箇所は残っていないか
- 移動後に読み込みパスは壊れないか
まで意識して扱う必要があります。
Gitコマンド自体は短くても、判断は軽くありません。
チェックポイント: 削除・移動の後は必ず
git statusと必要ならgit diff --stagedで確認する習慣を持ちましょう。
まとめ & 次のステップ
git rmは削除とステージを同時に行うgit mvは移動・リネームをGitに認識させながら行う- 操作後は
git statusで確認する - 削除や移動は影響範囲の確認が重要
- コマンドよりも「何を壊しうるか」を意識する
次回はブランチの基本を扱います。 本番コードを壊さずに作業を分けるための考え方を押さえていきましょう。