将提交推送到github时丢失增量文件更改
我对本地存储库进行了更改,当我比较更改(使用Visual Studio)时,我可以看到文件的增量更改。但是,当我将commit推送到github,然后在我的在线存储库中查看文件diff时,它会显示整个文件(红色),然后显示包含更改的整个文件(绿色)。换句话说,它应该只显示绿色的添加将提交推送到github时丢失增量文件更改,git,github,Git,Github,我对本地存储库进行了更改,当我比较更改(使用Visual Studio)时,我可以看到文件的增量更改。但是,当我将commit推送到github,然后在我的在线存储库中查看文件diff时,它会显示整个文件(红色),然后显示包含更改的整个文件(绿色)。换句话说,它应该只显示绿色的添加 你知道为什么会这样吗?我对其他存储库没有这个问题。正如Scott Hanselman所写, 基本上,您的本地(即workdir)行尾与存储库行尾不匹配。当然,您在Windows上工作,并且您的行以CRLF结尾,而您的
你知道为什么会这样吗?我对其他存储库没有这个问题。正如Scott Hanselman所写, 基本上,您的本地(即workdir)行尾与存储库行尾不匹配。当然,您在Windows上工作,并且您的行以CRLF结尾,而您的git存储库配置为存储具有LF行结尾的文本文件 一些有用的资源可帮助您理解并解决此问题:
- Tim Clem的精彩帖子
- GitHub帮助
- Tim Clem的精彩帖子
- GitHub帮助
- 正如斯科特·汉塞尔曼所写,
基本上,您的本地(即workdir)行尾与存储库行尾不匹配。当然,您在Windows上工作,并且您的行以CRLF结尾,而您的git存储库配置为存储具有LF行结尾的文本文件
一些有用的资源可帮助您理解并解决此问题:
git config core.autocrlf false
您还应该告诉git不要使用以下命令突出显示行末尾的CR字符(^M
):
git config core.whitespace cr-at-eol
确保已将行尾操作设置为关闭:
git config core.autocrlf false
您还应该告诉git不要使用以下命令突出显示行末尾的CR字符(^M
):
git config core.whitespace cr-at-eol
我敢打赌,如果行结尾不相同,您的diff工具会将行标记为不同的行,并且本地副本使用windows EOL(\r\n),而github repo将它们存储为unix EOL(\n)。我敢打赌,如果行结尾不相同,您的diff工具会将行标记为不同的行,并且本地副本使用windows EOL(\r\n)而github repo将它们存储为unix EOL(\n)。