我正在使用 Visual Studio 10 并使用 GIT 作为版本控制。我在 VS 中使用 Git 扩展作为插件来使用 GIT。我在提交时注意到一个奇怪的问题,当我在文件中添加一个带有文本“a”的新行时,前一行被视为已删除并在提交中重新添加。这是它在提交窗口中的外观:
我没有更改屏幕截图中突出显示的两行。我只添加了带有文本“a”的最后一行。你能告诉我为什么“另一个修复”行显示为修改过的吗?我在这里添加了关于行尾设置的更多信息,它设置为如图所示:
我正在使用 Visual Studio 10 并使用 GIT 作为版本控制。我在 VS 中使用 Git 扩展作为插件来使用 GIT。我在提交时注意到一个奇怪的问题,当我在文件中添加一个带有文本“a”的新行时,前一行被视为已删除并在提交中重新添加。这是它在提交窗口中的外观:
我没有更改屏幕截图中突出显示的两行。我只添加了带有文本“a”的最后一行。你能告诉我为什么“另一个修复”行显示为修改过的吗?我在这里添加了关于行尾设置的更多信息,它设置为如图所示:
与 VonC 所说的有点相关,问题归结为行尾。虽然我不认为这是换行符,但更有可能是增加了一个。
具体来说,您的文件的旧版本以“ another fix
”结尾,并且文件末尾没有换行符。当您a
在下一行添加“”时,您实际上将“ another fix
”行更改为“ another fix\n
”(或“ another fix\r\n
”),因此 git 将其作为更改选择。
将来,您可以确保您的文件以换行符结尾,因此当您像这样添加新行时,git diff 将只是单行。
core.autocrl
可能设置为 false,这并不意味着 Visual Studio 10 编辑器使用的当前 eol(行尾)样式与该README
文件中使用的 eol 没有不同。
如果README
仅\n
eol 字符,并且您的行引入了\r\n
组合,则可以解释更改。
使用 Visual Studio 重新打开该文件应该会出现此对话框:
这将使您有机会仅使用一种样式。