Git Quick Ref
Page rappelant les principales commandes de Git (sans explications)
Cette page rappelle les principales commandes de
git
sans explications. Pour en avoir veuillez vous référer par exemple à la page d’explication de git
Configurer
- La configuration de git est nécessaire une fois par poste de travail1
git config --global user.name Nom Prenom && git config --global user.email votre_email@enseirb-matmeca.fr
- Configuration automatique en utilisant l’annuaire de l’école
ssh LOGIN@ssh.enseirb-matmeca.fr /net/ens/renault/local/bin/init-gitconfig.sh > ~/.gitconfig
ouLOGIN
est votre login de l’école.
Utilisation quotidienne
Préparer un répertoire de travail
- A partir d’un dépôt existant
git clone <url>
- A partir d’un dossier existant
git init <dossier>
Hors catégorie
- LA commande quand on hésite ou on veut savoir ou on en est
git status
Travailler
- Ajouter fichier dans l’index et/ou suivre un fichier
git add <fichier ...>
- Supprimer ou ne plus suivre un fichier
git rm [-f] <fichier ...>
- Déplacer un fichier 2
git mv <source> <destination>
Fabriquer une version
- Créer une version
git commit
- Créer une version en ajoutant tous les fichiers ajoutés au moins une fois
git commit -a
- Modifier le dernier commit en rajoutant des trucs ou changeant le message
git commit --amend
Travailler avec un serveur
- Envoyer vos versions
git push
- Récupérer et fusionner les versions les plus récentes
git pull
- Récupérer sans fusionner les versions les plus récentes. Il faudra probablement fusionner plus tard.
git fetch [--all]
Regarder ce qui est fait
- Regarder les logs
git log --graph --all
- Regarder la différence entre le répertoire de travail et le dernier commit
git diff
- Regarder la différence limité à un (des) fichier(s)
git diff -- <fichier...>
- Regarder la différence entre le répertoire de travail et un commit arbitraire (ici l’avant dernier commit)
git diff HEAD~
Réconcilier les choses
- Fusionner deux branches
git merge <branch>
- Fusionner la branche courante avec la branche distante.
git merge origin/master
- Avancer le travail de votre branche locale sur une branche distante 3.
git rebase origin/master
Un poil plus avancé
- Annuler le dernier commit non poussé (une des questions les plus posé sur stackoverflow.com
git reset HEAD~
- Ajouter un alias (ici glog)
git config --global alias.glog log --graph --all --oneline
-
A l’école, les postes de travail sont en réseau. La configuration n’est nécessaire qu’une seule fois. ↩
-
Le déplacement n’est pas un concept essentiel dans
git
, un ajout et une suppression seront transformés en déplacement à postériori. ↩ -
Rebaser est une opération compliquée (en plus d’être un barbarisme). Il est possible de faire n’importe quoi, en cas de doute : annulez et faites une fusion classique. ↩