将提交推送到github时丢失增量文件更改

将提交推送到github时丢失增量文件更改,git,github,Git,Github,我对本地存储库进行了更改,当我比较更改(使用Visual Studio)时,我可以看到文件的增量更改。但是,当我将commit推送到github,然后在我的在线存储库中查看文件diff时,它会显示整个文件(红色),然后显示包含更改的整个文件(绿色)。换句话说,它应该只显示绿色的添加 你知道为什么会这样吗?我对其他存储库没有这个问题。正如Scott Hanselman所写, 基本上,您的本地(即workdir)行尾与存储库行尾不匹配。当然,您在Windows上工作,并且您的行以CRLF结尾,而您的

我对本地存储库进行了更改,当我比较更改(使用Visual Studio)时,我可以看到文件的增量更改。但是,当我将commit推送到github,然后在我的在线存储库中查看文件diff时,它会显示整个文件(红色),然后显示包含更改的整个文件(绿色)。换句话说,它应该只显示绿色的添加


你知道为什么会这样吗?我对其他存储库没有这个问题。

正如Scott Hanselman所写,

基本上,您的本地(即workdir)行尾与存储库行尾不匹配。当然,您在Windows上工作,并且您的行以CRLF结尾,而您的git存储库配置为存储具有LF行结尾的文本文件

一些有用的资源可帮助您理解并解决此问题:

  • Tim Clem的精彩帖子
  • GitHub帮助

    • 正如斯科特·汉塞尔曼所写,

      基本上,您的本地(即workdir)行尾与存储库行尾不匹配。当然,您在Windows上工作,并且您的行以CRLF结尾,而您的git存储库配置为存储具有LF行结尾的文本文件

      一些有用的资源可帮助您理解并解决此问题:

      • Tim Clem的精彩帖子
      • GitHub帮助

      确保您已将行尾操作设置为关闭:

      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)。