記事の目的
- git mv コマンドについて記載
本文
・他のVCSとは異なり、Gitはファイルの移動を明示的に追跡することはありません。
・Gitの中でファイル名を変更しても、「ファイル名を変更した」というメタデータはGitには保存されない。
Gitの中でファイル名を変更したい場合に行うコマンド
$ git mv file_from file_to
コマンドを実行してからステータスを確認してみると、
$ git mv README.md README
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> README
Gitはそれをファイル名が変更されたと解釈していることが分かる。
- 同義のコマンド
$ mv README.md README
$ git rm README.md
$ git add README
・一つのコマンドで済むか3つのコマンドで済ませるかの違い
・ファイル名の変更はなんでもお好みのツールでできること後でコミットする前にadd/rmを指示しとけば大丈夫。