我试图弄清楚为什么有时git会在提交中删除整个文件,然后重新重写所有行。
发生这种情况时,我们无法正确定位所有更改。
例子:
原始文件:
hello world
然后我添加一个新行:
(git的正确行为是:)
hello world
+ This is a new line
但有时我们在提交中会遇到这种情况:
-hello world
+hello world
+This is a new line
在这个例子中,只有两行,所以很容易弄清楚发生了什么。但这发生在大文件上。
这种行为的原因可能是什么?此外,在同一个提交中,可能有正确的文件(其中 git 仅识别已更改的行)和不正确的文件。