![]() |
1
0
当Git比较两个提交时,就像比较其中一个提交中的两个图片一样 Spot the Difference games . 左边有个快照,右边有个快照。每个快照都由文件组成。让我们把commit A放在左边,commit B放在右边,比较一下:
这是第三种情况,Git将尝试 文件是否被重命名(也可能被修改)。如果内容完全匹配,Git会将文件视为已重命名(或未更改),一位一位,100%相同。但这对于现实世界的案例来说还不够好,所以Git会的 如果内容仅匹配99%、80%甚至51%,请查看重命名的文件。
此重命名检测是一个确定文件身份的问题。是文件
这个“50%相似”只是一个例子
不过。如果你的迁移与其他人的迁移有62%的相似性,而所有其他文件
应该
被检测为“更名”都比较相似,可以吗
提高门槛
. (与
现在,在上面,我一直在说
在您的特定情况下,问题是Git在您不希望的情况下检测到重命名。如果这两个文件完全匹配,Git仍然会检测到这些重命名,但在这种情况下,它通常是无害的。这种情况通常只有在Git猜错的时候才有问题,因为一个文件有点太相似,或者相反的情况是它不够相似。
幸运的是,就像
当然,如果某个“好”的重命名为51%,而某个“坏”的重命名为99%,这并没有帮助。在不知道实际数字是多少的情况下,你怎么知道该用什么呢
还有一些问题。特别是,如果你正在做一个再基,那就需要一系列的樱桃采摘。这个
不过,这是使用Git提供的工具解决每个问题的一般方法(在实践中,您通常可以猜测:匹配不好意味着默认的50%太容易接受,所以只需移动一半到严格,或75%,然后重试。错过的匹配意味着它太严格了,所以移动一半到permissive,或者25%,然后重试。)
(注意
|
![]() |
2
0
可以将git属性设置为
为此,您需要添加一行
给你的
请参见: https://git-scm.com/docs/gitattributes#_performing_a_three_way_merge 一个更高级的解决方案将定义和设置一个自定义的合并驱动程序(也在上面的链接中描述) |
![]() |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
|
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
![]() |
Igor · git重置已删除目录上的头 2 年前 |
![]() |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
![]() |
Ali EXE · 如何根据bat中命令的输出设置变量? 3 年前 |
![]() |
ShortArrow · 如何使用git管理链接源文件? 3 年前 |
![]() |
Siggi · 使用git移动文件时丢失历史记录 3 年前 |