git は rename を捕捉するのか
操作としての推奨
- ただ
mv
してgit add -A
とするより git mv
で rename するのが良い
ただ、git mv
は単なるショートカットで
実質は mv old new && git add new && git rm old
を一括でやっているだけ
そうすれば履歴としてトラックされるか
- 履歴とファイル名を見て、一致度合い(?) で同じファイルと判別しているらしい
- ので、「
git mv
しとけばトラックしてくれる」というものでもないらしい - トラックされやすくはなりそうなので、極力
git mv
使っていこう
参考
ファイルが rename として検出されたか確認したい場合:
bash
git diff --cached --name-status -M
過去の履歴も追いたい場合
bash
git log --follow javascript.md