在工作中,我们是几个开发人员,没有代码风格指南,一些开发人员使用制表符缩进,而另一些开发人员则使用4个空格(幸运的是,没有人使用4个空格以外的空格缩进)。一般来说,这不是(大)问题,因为在我们的编辑器中,我们设置了tabwidth=4
,所有的缩进看起来都是正确的。
但在git diff
或git show
中,它是这样显示的:
diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+ echo "line with 1 tab\n";
+ echo "line with 4 spaces\n";
+}
问题出在git diff
或git show
,每个选项卡显示为8个空格(实际上显示为一个选项卡,而shell (在我的示例中为bash)将选项卡显示为8个空格。我想肯定有一些bash配置来改变这一点,但我想知道git是否有一个选项来在diff
/ show
中以4个空格的形式输出制表符,因为一些开发人员使用zsh
而不是bash
。
有什么想法吗?
发布于 2014-07-20 08:28:45
由于我的颜色设置,答案https://stackoverflow.com/a/10584237/1850340对我不起作用,我想出了以下解决方案:
TAB=$'\t' && git config --global core.pager "sed 's/$TAB/ /g' | less" && unset TAB
这将用4个空格替换所有制表符,然后用更少的空格显示它。(需要TAB解决方法来避免shell反斜杠转义)
https://stackoverflow.com/questions/10581093
复制相似问题