Quelques notes sur git, qui me seront utiles de retenir au quotidien, que j'ai envie de garder mais aussi de partager.
Principales sources, gitbook, Learn Git Branching, Git-Attitude.

×

Branch

Récupérer la branche distante en la trackant
git checkout -b branchLocal -t remote/branchDistante

Pousser la branche courante locale tout en la "trackant".
git push [-u | --set-upstream] remote nom-de-la-branche

Change la remote de la branche courante.
git branch --set-upstream-to neworigin/branchname

Renommer la branche locale et la branche distante
Surement un truc plus futer à faire, à creuser.
git branch -m oldName newName
git branch -dr remote/oldName
git branch --unset-upstream
git push -u remote newName

Supprime la branche distante.
git push origin :nomDeLaBranche

Liste des branches avec le motif dans le nom.
git branch [-r] --list "*feat*"

Push

Pousser jusqu'à une certaine révision la branche locale, sur la branche distante.
git push [-f] origin HEAD~n:branch

grep

Trouver 'pattern1' dans tout les fichiers décrivant le motif.
git grep pattern1 *.php

Même chose mais récursif.
git grep pattern1 **/*.php

Config

Recherche par expression rationnelle dans la configuration.
git config --get-regexp kekchose

Par exemple: liste de tout les alias dans la configuration de git.
git config --get-regexp alias

template

Pour récupérer des réglages git commun entre plusieurs dépôts,
l'option templatedir peux s'avérer très utiles.
Par exemple pour avoir des hooks en communs.

Si le dossier personnalisé est modifié après que le dépôt soit initialisé
je n'ai pas trouvé d'autres solutions que de supprimer le dossier à mettre à jour (hooks par exemple),
et de refaire un git init.

A l'initialisation du dépôt, git copiera le contenu du dossier renseigné dans le .git
(au lieu du contenu /usr/share/git-core/templates).


[init]
    templatedir = ~/.git_template