Git 中的文件(夹)重命名

在使用 GitHub 等客户端时,有时 Git 无法正确识别在资源管理器中(或 mv 命令)进行的重命名操作,会将其识别为文件的删除和新建,进而无法追踪该文件的修改历史。

If you rename and modify a file in the same commit, you will loose its history.

有的 git 工具(如 gitk)可以识别相似的文件并作出判断重命名的操作。但原始版本的 git 并没有这样的逻辑。因此理论上来说,在更改文件内容与执行重命名不应放在同一个 Commit 中。

但有时两次 Commit 之后,重命名也未必能够被正确识别。此时应该使用以下代码进行重命名操作:

1
git mv oldname newname

事实上,mvgit mv之间的唯一区别是后者还会将文件添加到索引中。

参考链接

-------------本文结束    感谢您的阅读-------------
0%