最佳答案
在工作中,我们有几个开发人员,没有代码样式指南,一些开发人员使用制表符缩进,一些开发人员使用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
。
有什么想法吗?