Commande | Effet |
---|---|
git init <directory> |
Créer un dépôt git vide dans le répertoire spécifié ou initialise le répertoire courant en tant que dépôt git. |
git config --global user.name <name> |
Définir le nom de l’auteur/autrice à utiliser pour les nouveaux commits. |
git status |
Afficher l’état du dépôt et la liste des fichiers inclus ou non pour le prochain commit. |
git add <dossier> |
Inclure (stage) tous les changement dans <dossier> pour le commit |
git add <fichier> |
Inclure les changement du <fichier> pour le commit |
git add -A |
Inclure tous les changements pour le commit |
git rm <fichier> |
Enlever (unstage) <fichier> du prochain commit. |
git diff |
Afficher les lignes modifiées depuis le dernier commit. |
git commit -m "<message>" |
Valider les modifications sélectionnées (staged) pour créer un nouveau commit avec le message <message> . |
git log ou git log --oneline --all --graph |
Afficher l’historique des commits |
git remote add <name> <url> |
Ajouter une connexion de votre dépôt courant à un dépôt sur un serveur. |
git push |
Pousser les nouveau commits sur le serveur (principal). |
Commande | Effet |
---|---|
git clone <url> |
Cloner en local un dépot depuis l’adresse <url> généralement un serveur ou un forge. |
git pull |
Récupérer les dernières modification (#réflexe). |
git log --oneline |
Afficher l’historique avec une ligne par commit. |
tig |
Un outil plus sympa que git log pour explorer l’historique. |
git diff HEAD <num_commit> |
Affiche la différence entre le commit actuel (HEAD) et le commit <num_commit> . |
git diff HEAD HEAD~1 |
Affiche la différence entre le commit actuel (HEAD) et le précédent (HEAD~1). |
git checkout <num_commit> |
Charge la version du code au niveau du commit <num_commit> . La “tête” se déplace au niveau de ce commit (HEAD détachée). |
git checkout master ou <nom_branch> |
Positionne HEAD au niveau du dernier commit de la branche. |
git reflog |
Affiche une liste des dernières positions de HEAD. (quand on est perdu !!! ) |
Commande | Effet |
---|---|
git branch |
Afficher la liste des branches |
git branch <nom_branche> |
Créer une branche <nom_branche> |
git checkout <nom_branche> |
Basculer sur la branche <nom_branche> |
git switch <nom_branche> |
Basculer sur la branche <nom_branche> |
git checkout -b <nom_branche> |
Créer une nouvelle branche et basculer dessus |
git switch -c <nom_branche> |
Créer une nouvelle branche et basculer dessus |
git diff <branche_1> <branche_2> |
Comparer deux branches pour voir les différences |
git merge <nom_branche> |
Fusionner la branche <nom_branche> avec la branche courante. |
git stash |
Sauvegarder ses modifications actuelles temporairement pour nettoyer son espace de travail. |
git stash pop |
Réappliquer les modifications sauvegardées pour restaurer son espace de travail. |
Commande | Effet |
---|---|
git commit --amend |
Ajouter des modifications au commit précédent pour le corriger ou simplement changer le message du commit précédent. |
git reset <commit> |
Réinitialiser le HEAD au commit indiqué en gardant les modifications. |
git reset --hard <commit> |
Réinitialiser le HEAD au commit indiqué en perdant les modifications. |
git rebase <branche> |
(plus complexe) Reconstruire l’historique de la branche courant à partir d’une autre branche en résolvant les conflits à chaque commit |
git branch -f <nom_branche> <commit> |
Réinitialiser la branche <nom_branche> (sur laquelle on n’est pas) au commit indiqué sans toucher à notre HEAD . |
git restore <chemin_fichier> -s <commit> |
Récupère le contenu des fichiers indiqués par chemin_fichier extraits depuis le contenu du commit <commit> . |
Concept | Explication |
---|---|
Un commit | Une version validée du code avec un auteur / une autrice, un message et un identifiant unique. |
Une branche | Une suite de commits avec un nom contenant une version du logiciel. |
HEAD | Le commit actuellement sélectionné dans le dépôt. |
remote | Un dépôt git sur un serveur par exemple la forge framagit. |
origin | Le nom du remote par défaut. |
master | La branche par défaut, généralement la branche principale. |