3

我正在使用 Visual Studio 10 并使用 GIT 作为版本控制。我在 VS 中使用 Git 扩展作为插件来使用 GIT。我在提交时注意到一个奇怪的问题,当我在文件中添加一个带有文本“a”的新行时,前一行被视为已删除并在提交中重新添加。这是它在提交窗口中的外观:

在此处输入图像描述

我没有更改屏幕截图中突出显示的两行。我只添加了带有文本“a”的最后一行。你能告诉我为什么“另一个修复”行显示为修改过的吗?我在这里添加了关于行尾设置的更多信息,它设置为如图所示:

在此处输入图像描述

4

2 回答 2

3

与 VonC 所说的有点相关,问题归结为行尾。虽然我不认为这是换行符,但更有可能是增加了一个。

具体来说,您的文件的旧版本以“ another fix”结尾,并且文件末尾没有换行符。当您a在下一行添加“”时,您实际上将“ another fix”行更改为“ another fix\n”(或“ another fix\r\n”),因此 git 将其作为更改选择。

将来,您可以确保您的文件以换行符结尾,因此当您像这样添加新行时,git diff 将只是单行。

于 2013-07-31T18:53:17.703 回答
3

core.autocrl可能设置为 false,这并不意味着 Visual Studio 10 编辑器使用的当前 eol(行尾)样式与该README文件中使用的 eol 没有不同。

如果README\neol 字符,并且您的行引入了\r\n组合,则可以解释更改。

使用 Visual Studio 重新打开该文件应该会出现此对话框:

正常化

这将使您有机会仅使用一种样式。

于 2013-07-31T17:22:26.563 回答