我想在 Git 中重命名/移动项目子树,将其从
/project/xyz
到
/components/xyz
如果我使用 plain git mv project components,那么所有的提交历史xyz project都会丢失。有没有办法移动它以保持历史?
git mv project components
xyz project
Git 会检测重命名,而不是通过提交来持久化操作,因此无论您使用git mv与否mv都无关紧要。
git mv
mv
该log命令采用--follow在重命名操作之前继续历史记录的参数,即,它使用启发式搜索相似的内容:
log
--follow
http://git-scm.com/docs/git-log
要查找完整的历史记录,请使用以下命令:
git log --follow ./path/to/file