Xcode空格搞砸了git rebase

时间:2013-03-26 21:14:18

标签: objective-c xcode git whitespace

在我执行git rebase之后,我添加/修改的代码行在相应代码块的左侧缩进了四个或更多空格。这非常烦人且耗时很难修复,更不用说它让Objective-C难以理解(想象一下,如果我在python中编码......?)

Xcode(或其他什么,git?)在标签中添加代替空格,我的Xcode设置为制作标签空格。

在我的工作中,没有人似乎对它出现的原因有一个很好的答案。我使trustctime错误,但这没有帮助。有什么帮助吗?

3 个答案:

答案 0 :(得分:2)

这可能是一个空白设置。查看git-config man pagecore.whitespace的选项。如果你有这个集合和apply.whitespace,那么git将为你的空白做一些事情,可能包括在rebase期间。

尝试找出git config core.whitespacegit config apply.whitespace是什么,并在〜/ .gitconfig文件中修改它们,或者使用以下内容修改它们:

git config --global apply.whitespace nowarn

答案 1 :(得分:0)

<强>更新
我认为这可能是git whitespace woes的副本 END UPDATE

除非你已经对你的git post-commit钩子或你的git config core.whitespace设置做了一些自定义(感谢指出jesse),git不会将空格转换为制表符,反之亦然。更改通常是您的环境/文件和合并活动的结果。

以各种形式处理过这个问题后,我的猜测是你的一些同行正在使用制表符,有些正在使用空格。人们将整天都在进行火焰战争,看你是否应该使用标签或空格,并根据日期和语言跳转。这不是我会在这里得到的东西。然而,几乎所有参与战争的理性参与者都同意,无论你选择哪一个,你都需要选择一个并在整个项目中始终如一地使用它。

大多数合理的编辑器允许您控制是否应插入制表符或空格,我知道XCode对此并不陌生。

我建议显示空格或简单地使用编辑器,它允许您查看空白以查看实际区别。单独地,在更正整个文件后,您还可以使用git diff -w -b来抑制空白区域更改。那说你应该弄清楚是什么导致你的空白在坚固的基础上疯狂,因为这表明我很可能git被混合使用混淆,多个人在不同分辨率的多个点纠正它。

祝你好运,这从来都不容易,当奶酪被搬走时,总会有人不高兴。

答案 2 :(得分:0)

我不知道我的git-config是什么问题,但在清除它并重新进行设置之后,问题就解决了。我没有我的旧git-config :(这发生在几个月前,但我想我会表示这不是与xcode相关的。