Au travail, nous sommes plusieurs développeurs et nous n'avons pas de guide de style de code, et certains développeurs mettent en retrait avec des tabulations, et d'autres avec 4 espaces (heureusement, personne du retrait avec des espaces n'utilise des espaces différents de 4 espaces). En général, ce n'est pas un (gros) problème car dans nos éditeurs, nous définissons tabwidth=4
et toute l'indentation semble correcte.
Mais en git diff
ou git show
c'est ce qui apparaît:
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";
+}
Le problème est git diff
ou git show
où chaque onglet apparaît aussi large que 8 espaces (enfin, en réalité apparaît comme un onglet, et le Shell (bash dans mon cas) montre l'onglet comme 8 espaces. Je suppose qu'il doit y avoir une configuration bash pour changer cela, mais je voudrais savoir si git a une option pour afficher les onglets en 4 espaces dans diff
/show
, car certains développeurs travaillent avec zsh
au lieu de bash
.
Des idées?
Je crois git config --global core.pager 'less -x1,5'
Références:
Comme la réponse https://stackoverflow.com/a/10584237/185034 n'a pas fonctionné pour moi en raison de mes paramètres de couleur, j'ai trouvé la solution suivante:
TAB=$'\t' && git config --global core.pager "sed 's/$TAB/ /g' | less" && unset TAB
Cela remplace tous les caractères de tabulation par 4 espaces avant de l'afficher avec moins. (La solution de contournement TAB est nécessaire pour contourner la fuite de barre oblique inverse des obus)