【问题标题】:What's the meaning of 'R087' in git diff 2 commit ids?git diff 2 提交 ID 中的“R087”是什么意思?
【发布时间】:2021-05-10 07:48:35
【问题描述】:

我尝试找出 2 个提交 ID 的差异。当我 git diff 时,它会打印文件的更改状态。 “M”的意思是“修改”。 “D”的意思是“删除”。 “A”表示“添加”。但是“R087”代表什么?

git diff  f0d1122b af122334 --name-status 

M       service/user_feature/search_user_feature_redis.h
D       service/user_feature/search_user_feature_tair.cc
A       service/user_feature/user_feature_tair.cc
R087    service/user_feature/search_user_feature_tair.h service/user_feature/user_feature_tair.h
D       thirdparty/easy/BUILD

【问题讨论】:

    标签: git git-diff


    【解决方案1】:

    R 代表Rename。 087 是一个相似度分数:根据 Git,之前和之后的文件相似度为 87%,这足以让 Git 说这是一个带有一些更改的重命名操作,而不是删除“旧文件”和添加“新文件”。

    默认情况下,相似度阈值为 50%。

    Reference

    【讨论】:

    • 请注意,您可以禁用 (--no-renames) 或显式启用 (--find-renames) 重命名检测,并且默认情况下是否启用重命名检测是您可以使用 Git 配置设置的设置 ( git config --global diff.renamestruefalse)。非常旧的 Git 版本中的默认值是 false,自 Git 2.9 以来的默认值是 true
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2016-06-12
    • 2018-03-20
    • 2013-05-20
    相关资源
    最近更新 更多