有很多 关于如何在 Git 中重命名文件和文件夹时保留历史记录的优秀 文章。
这适用于 git 命令行界面:
#if you don't modify oldname.cpp or newname.cpp, git will understand your rename
git mv old.cpp new.cpp
git commit -am "renamed old.cpp -> new.cpp"
git log new.cpp #only shows the new commit
git log --follow new.cpp #shows ALL the history of old.cpp and new.cpp
太好了,因此该--follow
命令允许我们获取new.cpp
重命名后的所有历史记录。这在 git 的命令行界面中效果很好。
但是,在 github Web 界面中,old.cpp
没有显示new.cpp
. 这是一个问题,因为我的许多团队成员都将他们的 github 帐户视为简历的一部分。如果他们的提交在重命名文件后没有出现在 github 中,那么他们将失去恢复点。在主要的文件名/目录重组之后,贡献者最终可能在 repo 上没有一个可见的提交。
git log --follow
重命名文件后,如何在 github Web 界面(例如)中显示完整的文件历史记录?
或者我坚持从不重命名任何东西,除非我愿意让普通的 github 用户永远看不到旧的提交?