我在eclipse中执行了几个重构,我将一大堆文件移动到另一个java包中.这些通常会导致大量文件自动更新以解析引用.因此,这些情况下的提交往往非常大.
我假设git跟踪了重命名,我可以git log --follow通过重命名来跟踪历史记录,但是git没有跟踪重命名.
我在其中重命名日食进行小重构操作都在提交检测.唯一的区别似乎是提交的大小.
有任何想法吗?
Git根本不跟踪历史记录中的重命名,但git log可以根据提交内容启发式地检测重命名.
-M百分比git log,以便检测重命名.如果文件的百分之几以上已更改,git log(和git diff)将不会将添加/删除对视为重命名.如果移动的文件非常小并且需要更改内容(例如包名称),那么它们可能会超过此阈值.-l,该值指定要评估的最大潜在重命名数.在大型提交中,您可能会超出此限制,因此Git不会评估重命名以防止日志操作花费太长时间.(检测重命名是一个O(n ^ 2)操作,其中n是需要考虑的添加/删除对的数量,因此在寻找重命名的日志操作中处理每个提交所花费的时间随着数量的增加呈指数增长添加/删除排列.)有关这些选项的更多详细说明,请参阅git-log联机帮助页.