Skip to main content

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