установка tabwidth в 4 в git show / git diff
на работе мы несколько разработчиков и не имеем руководства по стилю кода, а некоторые разработчики отступы с вкладками, а некоторые другие с 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 tabn";
+ echo "line with 4 spacesn";
+}
проблема git diff
или git show
где каждая вкладка появляется шириной до 8 пробелов (ну, на самом деле появляется как вкладка, а оболочка (bash в моем случае) показывает вкладку как 8 пробелов. Я полагаю, что должна быть какая-то конфигурация bash, чтобы изменить это, но я хотел бы знать, есть ли у git возможность выводить вкладки в виде 4 пробелов в diff
/show
, как некоторые разработчики работают с zsh
вместо bash
.
какие идеи?
2 ответа:
Я считаю
git config --global core.pager 'less -x1,5'
ссылки: git-scm chp7-1
ответ https://stackoverflow.com/a/10584237/1850340 не работает для меня из-за моих настроек цвета, я придумал следующее решение:
TAB=$'\t' && git config --global core.pager "sed 's/$TAB/ /g' | less" && unset TAB
это заменяет все символы табуляции в 4 пробела перед отображением его меньше. (Вкладка обходной путь необходим, чтобы обойти оболочки обратной косой черты побег)