Ceci est une ancienne révision du document !
Git
Configuration
Configuration de l'identité
git config --global user.name "John Doe"
git config --global user.email "john.doe@example.com"
Stockage des identifiants
Mise en cache pour une durée déterminée (ici, 12 heures)
git config --global credential.helper 'cache --timeout 43200'
Stockage permanant dans un fichier
git config --global credential.helper 'store --file ~/.git-credentials'
Annulation du stockage des identifiants
git config --global --unset credential.helper
Créer un alias de commande Git
git config --global alias.rename 'branch -m'
Opérations
Revenir à l'état du dernier commit
git reset --hard
Supprimer le dernier commit
git reset --hard HEAD^
Supprimer les n derniers commits
git reset --soft HEAD~n
Pour annuler les modifications, remplacer soft par hard.
Puis pour posser la suppression sur le dépôt distant :
git push origin +HEAD
Depuis un dépôt “bare”, remplacer –hard par –soft.
Fusionner les derniers commits
git rebase -i a7cc4794a8802708b2eaa75debb40c993f0fa958
L'ID est celui du commit qui précède le dernier membre de la fusion
Changer l'auteur du dernier commit
git commit --amend --author="John Doe <john@doe.org>"
Renommer une branche
Branche courante
git branch -m <newname>
Autre branche
git branch -m <newname> <newname>
Supprimer une branche distante
git push --delete origin v2.0
Pousser une branche locale
git push -u origin feature_branch_name
Pousser toutes les branches
git push --all origin
Re-synchroniser la branche courante avec la branche distante lorsqu'un simple pull ne suffit pas
git pull --rebase origin master
Supprimer un tag
Localement
git tag -d <tagname>
A distance
git push --delete origin <tagname>
Voir le nombre de contributions par auteur
Avec tous les emails utilisés
git shortlog -nse
Avec emails combinés
git shortlog -ns