Git Quick Ref
Page rappelant les principales commandes de Git (sans explications)
Cette page rappelle les principales commandes de
gitsans 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 > ~/.gitconfigouLOGINest 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. ↩