Pour mettre temporairement des modifications de côté :
$ git stash$ git stash show$ git stash show -p$ git stash pop$ git stash drop$ git stash list
Créer une branche :
**$** git branch experimental
Lister les branches :
$ git branch experimental
* main
Utiliser les branches :
$ git checkout experimental# éditer des fichiers
$ git commit -a$ git checkout main# éditer des fichiers
$ git commit -a
Fusionner une branche :
# en étant sur la branche main...
$ git merge experimental# y a-t-il des conflits ? Si oui, les visualiser avec :
$ git diff# éditer les fichiers pour résoudre les conflits, puis valider avec :
$ git commit -a
Visualiser toutes les branches :
$ gitk --all
Supprimer une branche :
$ git branch -d experimental$ git branch -D mauvaise-idee
Voici différentes manières de désigner un commit (cf. gitrevisions(7) pour les détails) :
**$** git show ca6601f... # identifiant, peut être abrégé**$** git show experimental # nom de branche**$** git show HEAD # dernier commit**$** git show <commit>^ # parent du commit donné (ex. HEAD^) **$** git show <commit>^^ # grand-parent du commit **$** git show <commit>~4 # grand-grand grand-parent du commit **$** git show <commit>^1 # 1er parent **$** git show <commit>^2 # 2ème parent (ex. lors d'un merge)