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