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'

Changer l'éditeur de texte par défaut

git config --global core.editor "vim"

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

OU

git rebase -i --root main

Combiner tous les commits en un seul

git rebase --root -i

Puis remplacer toutes les occurrences de pick par squash sauf la première. Sous vim, il est possible de faire :

:%s/pick/squash/g

Changer le commentaire du dernier commit

git commit --amend -m "Nouveau commentaire"

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