我对git比较陌生,我以前使用过Subversion。
我注意到,如果文件已重命名,大多数图形git前端和IDE插件似乎无法显示文件的历史记录。当我使用
git log --follow
在命令行上,我可以看到整个重命名日志。
根据Linus Torvalds的介绍,--follow开关是一个“ SVN noob”,令人满意的git用户不要使用它:
--follow是一个完全的hack,旨在满足那些从未对父母身份或漂亮的修订图一无所知的前SVN用户。
这并不完全是基础,但是当前的“ --follow”实现实际上是一种快速的预处理功能,它附加在修订步逻辑上,而不是任何真正不可或缺的东西。
从字面上看,它被设计为“ SVN新手”,而不是“真正的git功能”。这样做的想法是,您将摆脱那种(重新定义的)思维思维方式,这种思维方式在全局上重命名了物质。
我的问题:重命名的git用户如何在重命名文件时获取文件的历史记录?这样做的“真正”方法是什么?
/bin/mv oldfile newfile),但是这样做git add newfile; git rm oldfile,结果与不会区别git mv oldfile newfile。
--color-movedwhen diff。
git mv oldfile newfile不会导致要记录的重命名,在所有 -它只是一样删除一个文件并添加另一个。git仅在事实发生后的每次提交时才从树的状态中计算出重命名和副本。