Mémo git
mar. 12 décembre 2017
Aide mémoire des commandes Git dont j'ai du mal à me souvenir
- Configuration globale
- Revenir en arrière avec checkout
- Remisage
- Merge
- Comment faire un merge
- Comment faire un rebase
- Git remote
- Lister les branches distantes
- Cloner toutes les branches remote
Configuration globale
La configuration globale de git est stockée dans ~/.gitconfig
. Pour un projet la configuration spécifique se trouve dans .git/config
.
# Lister toute la configuration
$ git config --global -l
# Configuration du mail
$ git config --global user.email name@domaine.com
Code - OSS/User/*
!Code - OSS/User/keybindings.json
Revenir en arrière avec checkout
Retourner à l'état du projet lors d'un commit
$ git checkout <commit>
Cette méthode s'appelle detached head.
Après le checkout, Head fait référence à <commit>
et non plus au dernier commit (master).
Pour revenir à master.
$ git checkout master
Attention, si des commit ont été fait pendant le détachement de head, ils seront perdus (puisque plus référencé).
Remisage
$ git stash # équivalent à git stash save
$ git stash pop | apply # Reprendre le dernier remisage
$ git stash list
$ git stash apply
$ git stash branch <branch_name> # Embarque le stash dans une nouvelle branche
Merge
Comment faire un merge
L'idée du merge est de ramener les changements depuis la branche master vers la branche courrante.
D'abord se positionner sur master et faire un merge:
git checkout <your-branch>
git merge master
Comment faire un rebase
Se positionner sur la branche source (contrairement à un merge) et executer les commandes:
git checkout <your-branch>
git rebase master
git checkout master
git merge <your-branch>
Git remote
Lister les branches distantes
git remote -v
Cloner toutes les branches remote
Pour voir l'ensemble des branches du repo git il faut utliser le flag -a:
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
Pour jeter un oeil sur une branche distante on peut utiliser la commande suivante:
$ git checkout origin/experimental
Mais pour travailler réellement sur une branche distante il faut créer la version locale de celle-ci, ce qui se fait de la façon suivante:
$ git checkout experimental
On vérifie qu'on est bien positionné sur cette nouvelle branche:
$ git branch
* experimental
master