小编典典

是否可以在 Git 中移动/重命名文件并维护它们的历史记录?

all

我想在 Git 中重命名/移动项目子树,将其从

/project/xyz

/components/xyz

如果我使用 plain git mv project components,那么所有的提交历史xyz project都会丢失。有没有办法移动它以保持历史?


阅读 129

收藏
2022-03-02

共1个答案

小编典典

Git 会检测重命名,而不是通过提交来持久化操作,因此无论您使用git mv与否mv都无关紧要。

log命令采用--follow在重命名操作之前继续历史记录的参数,即,它使用启发式搜索相似的内容:

http://git-scm.com/docs/git-log

要查找完整的历史记录,请使用以下命令:

git log --follow ./path/to/file
2022-03-02