IT TIP

git show / git diff에서 tabwidth를 4로 설정

itqueen 2020. 11. 27. 21:53
반응형

git show / git diff에서 tabwidth를 4로 설정


직장에서 우리는 여러 명의 개발자이며 코드 스타일 가이드가 없으며 일부 개발자는 탭으로 들여 쓰기하고 다른 일부는 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 개의 공백만큼 넓게 표시되는 경우 (실제로는 탭으로 표시되고 셸 (제 경우에는 bash)이 탭을 8 개의 공백으로 표시합니다. 변경할 bash 구성이 있다고 가정합니다. 그러나 일부 개발자가 대신 작업하기 때문에 git에 diff/에 4 개의 공백으로 탭을 출력하는 옵션이 있는지 알고 싶습니다 .showzshbash

어떤 아이디어?


나는 믿는다 git config --global core.pager 'less -x1,5'

참조 :


대답 https://stackoverflow.com/a/10584237/1850340 이 내 색상 설정으로 인해 작동하지 않았기 때문에 다음 솔루션을 생각해 냈습니다.

TAB=$'\t' && git config --global core.pager "sed 's/$TAB/    /g' | less" && unset TAB

이렇게하면 모든 탭 문자가 공백 4 개로 바뀐 후 표시됩니다. (셸 백 슬래시 이스케이프를 피하려면 TAB 해결 방법이 필요합니다.)

참고 URL : https://stackoverflow.com/questions/10581093/setting-tabwidth-to-4-in-git-show-git-diff

반응형