.gitconfig includeIf : ma config Git différente selon le dossier

.gitconfig includeIf : ma config Git différente selon le dossier

J’ai deux vies Git : une pro (Gitlab d’entreprise, email pro, clé SSH pro) et une perso (GitHub perso, email perso, clé SSH perso). Avant d’utiliser ce qui suit, il m’est arrivé de devoir réécrire l’historique git parce que j’avais commit avec la mauvaise identité. includeIf règle ça. On définit une config différente selon le chemin du repo. # ~/.gitconfig [includeIf "gitdir:~/dev/michelin/"] path = ~/.gitconfig-michelin [includeIf "gitdir:~/dev/perso/"] path = ~/.gitconfig-perso Et chaque fichier ne contient que les différences : ...

Git patch : partager des modifications entre repos

Git patch : partager des modifications entre repos

Git patch : partager des modifications entre repos Quand tu dois appliquer la même modification sur plusieurs repos qui partagent une base de code commune, transporter un commit d’un dépôt à l’autre avec git format-patch évite de le recréer à la main. Le résultat, c’est un fichier .patch qui se partage comme n’importe quelle pièce jointe. Créer le patch git format-patch -k -1 HEAD -o ./patches/ -k : conserve le message du commit tel quel, sans ajouter le préfixe [PATCH] -1 : un seul commit (le dernier). Remplace par -3 pour les 3 derniers, ou donne un SHA précis -o ./patches/ : dossier de sortie, plus propre qu’un >> à la main Pour une plage de commits : ...

clone.sh

clone.sh

Le chaos des dépôts Git Au fil des années, j’ai vu mon répertoire personnel se transformer en un véritable dédale de projets Git clonés pas toujours avec une organisation optimale et la perte de temps que ca engendrait. Frustré par cette situation et par l’absence d’outils adaptés à ma façon de travailler, j’ai écrit un script bash qui clone de manière plus pratique. Il organise intelligemment les projets par fournisseur, crée des liens symboliques à la demande et s’intègre avec zoxide pour une navigation ultra-rapide. Une solution simple mais efficace qui a amélioré ma façon de gérer mes projets. ...