gpt4 book ai didi

git - 如何使用 git 真正显示重命名文件的日志

转载 作者:IT王子 更新时间:2023-10-29 01:21:59 25 4
gpt4 key购买 nike

我对 Git 比较陌生。我用了Subversion (SVN) 之前。

我注意到大多数图形化的 Git 前端和 IDE 插件似乎无法在文件重命名后显示文件的历史记录。当我使用

git log --follow

在命令行上,我可以看到整个重命名日志。

According to Linus Torvalds ( alternative link ) --follow 开关是一个“SVN noob”取悦者;严重的 Git 用户不要使用它:

--follow is a total hack, meant to just satisfy ex-SVN users who neverknew anything about things likeparenthood or nice revision graphsanyway.

It's not totally fundamental, but thecurrent implementation of "--follow"is really a quick preprocessing thingbolted onto the revision walkinglogic, rather than being anythingreally integral.

It literally was designed as a "SVNnoob" pleaser, not as a "real gitfunctionality" thing. The idea wasthat you'd get away from the (broken)mindset of thinking that renamesmatter in the big picture.

Git 铁杆用户如何在重命名文件时获取文件的历史记录?执行此操作的“真正”方法是什么?

最佳答案

我认为 Linus 观点背后的普遍驱动力是——对此持保留态度——Git 核心用户从不关心"file"的历史。您将内容放在 Git 存储库中,因为内容作为一个整体具有有意义的历史。

文件重命名是“内容”在路径之间移动的一个小特例。您可能有一个在文件之间移动的函数,Git 用户可能会使用“镐”功能(例如,log -S)追踪这些文件。

其他“路径”更改包括 merge 和拆分文件; Git 并不真正关心您认为哪个文件被重命名以及您认为哪个文件被复制(或重命名和删除)。它只是跟踪树的完整内容。

Git 鼓励“整树”思维,而许多版本控制系统非常以文件为中心。这就是 Git 引用“路径”而不是引用“文件名”的原因。

关于git - 如何使用 git 真正显示重命名文件的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5743739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com