【发布时间】: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 行为背后的共鸣,所以我颠倒了方向(关闭这个问题指向另一个一个代替)。但别担心,一个问题被关闭通常不是一件坏事。您的问题仍然很好并将继续引导人们找到解决方案。