【问题标题】:Make git ignore rename [duplicate]让 git 忽略重命名 [重复]
【发布时间】:2012-03-27 09:00:27
【问题描述】:

我有一个要删除的文件foo.txt,还有一个要添加的bar.txt。如果这两个文件有超过 50% 的内容相同,Git 会认为 foo.txt 被重命名为 bar.txt。我怎样才能让 Git 在不更改全局阈值检测 % 的情况下,在同一次提交中真正将其视为单独删除、单独添加。

谢谢!

【问题讨论】:

  • 是否有特殊原因将其记录为“重命名”是一个问题?
  • 问题是这两个文件的历史不应该混合在一起。假设我有一个名为 JohnDoe.txt 的文件,其中包含 John 的工作地址和电话号码 555-555-1212。 John 在 Jane Smith 加入公司的同时离开公司(创建文件 JaneSmith.txt)。她的工作地址是一样的,但电话号码是 555-555-1313。如果这两个 add/rm 是同一个提交的一部分,Git 会认为它是一个重命名,git log --follow 会告诉我它们是同一个文件(当我显然不希望它们是)。有什么建议吗?
  • @poke 我不清楚重复的工作原理。我的问题是在您确定的问题前一年提出的。你会选择“最完整”的答案吗?
  • @torngat 另一个问题之前已关闭指向这个问题,但我相信另一个问题更好地涵盖了 Git 行为背后的共鸣,所以我颠倒了方向(关闭这个问题指向另一个一个代替)。但别担心,一个问题被关闭通常不是一件坏事。您的问题仍然很好并将继续引导人们找到解决方案。

标签: git rename


【解决方案1】:

你不能。在内部,它们将被保存为删除和添加。 “重命名”的显示将在稍后计算并取决于该阈值。

【讨论】:

    【解决方案2】:

    要使用 TortoiseGit 禁用重命名检测(尽管作为 git-diff 选项,它本身也应该适用于 git)我在 gitconfig 中添加了以下行,这似乎可以解决问题(虽然基于文档,但我认为不应该):

    [diff]
      renameLimit = 1
    

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 2018-02-28
      • 2017-11-18
      • 2015-03-09
      • 2019-08-20
      • 1970-01-01
      • 2023-02-11
      • 2020-05-22
      • 2015-12-30
      相关资源
      最近更新 更多