Blog

Les commandes essentielles de Git

Git synthétique

Git, logiciel de gestion de versions décentralisé. Git gagne du terrain, depuis longtemps déjà. Les développeurs cherchent des réponses et des idées sur GitHub. Et pourtant, des commandes basiques restent méconnues.

Les plugins Git des IDE ne permettent pas tout. Cet article donne les commandes essentielles de Git, celles qui servent tous les jours ou presque. Pas de théorie, peu d’explications, pas de problèmes complexes. Pour ça, le site officiel est très bien fait : Git-scm

Ce billet, c’est un kit de survie si vous avez installé Git, si vous utilisez des dépôts standards avec quelques branches principales et quelques branches feature, mais si vous vous demandez trop souvent « Mais comment déjà que »

Alors à vos lignes de commandes ! Pour débuter ou pour un usage quotidien, tout est là :

 

git-commandes-essentielles

 

 

Commandes de base

Télécharger un dépôt distant
git clone https://github.com/spring-projects/spring-framework

Changer de branche courante
git checkout myBranch

Récupérer les modifications faites sur le dépôt distant
git pull

Gérer les problèmes de caractères de fins de ligne (important pour le travail en équipe)
Windows
git config −−global core.autocrlf true
Linux ou Mac
git config −−global core.autocrlf input

Voir les fichiers modifiés
git status

Annuler la modification d’un fichier (les modifications locales sont perdues)
git checkout −− chemin/monFichier

Ajouter un fichier à committer (il fera partie du prochain commit)
git add chemin/monFichier

Annuler l’ajout
git reset −− chemin/monFichier

Ajouter tous les fichiers
git add .

Committer (committe en local tous les fichiers qu’on a ajoutés; ne fait rien à distance)
git commit -m ″message de commit″

Livrer (livre les commits sur le dépôt distant)
git push

Mettre des modifications de côté (restaure les fichiers, mais garde une trace de leur état modifié)
git stash
Annuler ce stash
git stash pop

Récupérer les modifications distantes en évitant tout problème de merge (c’est-à-dire une gestion des merges qui pourrait rendre moins lisible l’historique d’un fichier)
git pull −−rebase

 

Commandes pour l’usage quotidien

Obtenir les branches et les tags disponibles (dans un usage standard, origin est sans doute le nom du dépôt en local)
git fetch origin

Lister les branches disponibles
git branch −v −a

Récupérer une branche newBranch en local
git checkout -b newBranch origin/newBranch

Reporter un commit d’une branche dans une autre branche (le numéro identifie le commit, tous les commits en ont un)
git cherry-pick 5b6f78ac6a2e648b2332967b515261d297bfa13b

Créer une branche locale myBranch avec le contenu de refBranch
git checkout -b myBranch refBranch

Livrer une branche locale sur le distant
git push origin myBranch

Supprimer une branche locale
git branch -D myBranch

Supprimer une branche sur le dépôt distant
git push origin −−delete myBranch

Annuler un commit
git reset HEAD~1

Supprimer toutes les modifications, revenir à zéro (quand on est perdu après un merge ou autre)
git reset −−hard
git clean -di

 

Plus de commandes

Restaurer un fichier supprimé en local
git reset −− chemin/monFichier
Puis git checkout −− chemin/monFichier

Annuler un push vers le dépôt distant (le numéro identifie le commit)
git revert 5b6f78ac6a2e648b2332967b515261d297bfa13b

Voir les différences entre 2 branches
git diff origin/master..origin/featureBranch

Merger les commits d’une branche dans une autre (ne fait rien sur le distant, reporte les commits de featureBranch vers la branche courante)
git merge −−no-ff featureBranch

Merger les commits d’une branche sans committer (permet de voir les fichiers qui sont modifiés)
git merge −−no-commit −−no-ff featureBranch

Supprimer les branches locales qui n’existent plus sur le dépôt distant
git remote prune origin

Historique des commits
git log

Trouver les commits dont le message contient ″JIRA-5689″
git log −−grep ″JIRA-5689″

Créer un tag depuis une branche
git tag -a <tag_name> myBranch

Livrer un tag sur le dépôt distant
git push origin <tag_name>

Lister les tags
git tag -l

Récupérer le contenu d’un tag
git checkout tags/<tag_name>

Supprimer un tag en local
git tag −−delete <tag_name>

Supprimer un tag sur le dépôt distant
git push −−delete origin <tag_name>

Et voilà ! Dans la vie de tous les jours, ça suffira. Pour aller plus loin, OXiane propose une formation Git.

 

admin

Written by

The author didnt add any Information to his profile yet