【问题标题】:Git pull --rebase converting spaces to tabsGit pull --rebase 将空格转换为制表符
【发布时间】:2013-01-24 15:35:24
【问题描述】:

这个问题快把我逼疯了。在 Github 上使用 Git。

我正在使用空格而不是制表符处理一个特定文件。我始终确保将所有制表符缩进更改为空格。差异确认我已将制表符更改为空格。我提交并推送代码(带有其他更改),一切都很好。

直到,我git pull --rebase。现在,我的文件 - 部分 - 有标签替换空格!请注意,这是文件中只有我曾经编辑过的部分,而且我总是使用空格,而不是制表符。

当我执行正常的git pull 时不会发生这种情况,仅在 rebase 时发生。

此外,合并到主集成分支的其他分支上的更改也可以。它只是发生在集成分支的变基上。

【问题讨论】:

  • 有没有注册的Hooks?或者在你的 $home/.gitconfig 中配置了什么?有一些选项可以设置为 whitespace=fix 或类似的东西。你应该注意这一点。在progit.org/book/en/Customizing-Git-Git-Configuration中搜索core.whiteapce
  • 是的,没有钩子。这可能与我的 IDE 有关。谢谢!
  • 如果您使用的是 Eclipse 和 EGit。检查 EGit 的 eclipse 设置。可以在那里设置设置;)
  • 我也遇到了这个问题,我使用 vim 作为我的编辑器,并从命令行拉取。
  • 签入您的 .git/info/attributes 文件。查看您是否有任何可能影响该文件的设置。 git 属性通常用于在提交后/保存前和签出后/打开前操作文件。 git-scm.com/book/ch7-2.html

标签: git tabs rebase spaces pull


【解决方案1】:

此问题可能是由行尾设置引起的。您可以使用指令here 配置您的 git。

【讨论】:

    【解决方案2】:
    git apply --whitespace=fix 
    

    似乎在变基期间会发生这种情况。

    可能设置

    [apply]
        whitespace = warn
    

    在你的 gitconfig 中看看它是否能解决你的问题。

    另请参阅"core.whitespace" setting 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2021-11-17
      • 2017-12-07
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 2014-02-17
      • 2012-06-10
      相关资源
      最近更新 更多