// Git Toolbox
Générateur de config Git
Coche ce que tu veux, obtiens un ~/.gitconfig prêt à coller. Les réglages recommandés sont déjà cochés.
Identité
Mets l'email de ton compte GitHub / GitLab, ou l'adresse noreply qu'ils fournissent pour garder la tienne privée.
Au quotidien
Nom de la première branche de chaque nouveau dépôt.
Éditeur ouvert pour les messages de commit et les rebases interactifs.
git pull rejoue tes commits par-dessus au lieu de créer des commits « Merge branch 'main'… ».
Le premier git push d'une nouvelle branche marche sans --set-upstream.
Oublie les branches distantes supprimées sur le serveur.
Pull et rebase même avec des modifications non commitées : Git les met de côté puis les remet.
git rebase -i range tes commits fixup! à côté du commit qu'ils corrigent.
Les branches empilées suivent quand tu rebases celle du dessous.
Filets de sécurité
Les conflits montrent aussi la version d'origine : bien plus simples à résoudre.
Git retient comment tu as résolu un conflit et le refait la fois suivante.
git stauts → te demande si tu voulais dire git status.
Affiche le diff dans l'éditeur pendant que tu écris le message de commit.
git push n'envoie que la branche actuelle, jamais toutes.
Lisibilité
Des diffs plus lisibles, surtout quand du code est déplacé.
Les lignes déplacées ont leur propre couleur au lieu de − et +.
git branch liste d'abord les branches sur lesquelles tu as travaillé récemment.
v1.10 vient après v1.9, pas avant.
Les longues listes (branches, tags) en colonnes.
Ton système
Fins de ligne : évite les diffs où toutes les lignes changent pour rien. Encore mieux : un .gitattributes dans le dépôt.
Mémorise tes identifiants HTTPS pour que Git arrête de les demander.
Windows : autorise les chemins de plus de 260 caractères (node_modules profonds…).
Résultat
Pas de nom : tes commits afficheront le nom d'utilisateur de ton ordinateur.
Pas d'email : GitHub ne reliera pas tes commits à ton compte.
Lance git config --global --edit et colle ceci à la fin du fichier.
[init]defaultBranch = main[pull]rebase = true[push]autoSetupRemote = truedefault = simple[fetch]prune = true[rebase]autoStash = trueautoSquash = true[merge]conflictStyle = zdiff3[rerere]enabled = true[help]autocorrect = prompt[diff]algorithm = histogramcolorMoved = zebra[branch]sort = -committerdate[tag]sort = version:refname