Les principales commandes Git

Vous trouverez dans ce post, les commandes principales pour utiliser Git

Configuration des outils

Configurer les informations de l’utilisateur pour tous les dépôts locaux

$ git config --global user.name "[nom]" 

Définit le nom que vous voulez associer à toutes vos opérations de commit

$ git config --global user.email "[adresse email]" 

Définit l’email que vous voulez associer à toutes vos opérations de commit

$ git config --global color.ui auto 

Active la colorisation de la sortie en ligne de commande

Créer des dépôts

Démarrer un nouveau dépôt ou en obtenir un depuis une URL existante

$ git init [nom-du-projet]

Crée un dépôt local à partir du nom spécifié

$ git clone [url]

Télécharge un projet et tout son historique de versions

Effectuer des changements

$ git status

Liste tous les nouveaux fichiers et les fichiers modifiés à commiter

$ git diff 

Montre les modifications de fichier qui ne sont pas encore indexées

$ git add [fichier]

Ajoute un instantané du fichier, en préparation pour le suivi de version

$ git diff --staged

Montre les différences de fichier entre la version indexée et la dernière version

$ git reset [fichier] 

Enleve le fichier de l’index, mais conserve son contenu

$ git commit -m "[message descriptif]" 

Enregistre des instantanés de fichiers de façon permanente dans l’historique des versions

Grouper des changements

Nommer une série de commits et combiner les résultats de travaux terminés

$ git branch 

Liste toutes les branches locales dans le dépôt courant

$ git branch [nom-de-branche] 

Crée une nouvelle branche

$ git checkout [nom-de-branche] 

Bascule sur la branche spécifiée et met à jour le répertoire de travail

$ git merge [nom-de-branche] 

Combine dans la branche courante l’historique de la branche spécifiée

$ git branch -d [nom-de-branche] 

Supprime la branche spécifiée

Changements au niveau des fichiers

Déplacer et supprimer des fichiers sous suivi de version

$ git rm [fichier]

Supprime le fichier du répertoire de travail et met à jour l’index

$ git rm --cached [fichier]

Supprime le fichier du système de suivi de version mais le préserve localement

$ git mv [fichier-nom] [fichier-nouveau-nom]

Renomme le fichier et prépare le changement pour un commit

Exclure du suivi de gestion

Exclure des fichiers et chemins temporaires

*.log
build/
temp-*

Un fichier texte nommé .gitignore permet d’éviter le suivi de version accidentel pour les fichiers et chemins correspondant aux patterns spécifiés

$ git ls-files --other --ignored --exclude-standard 

Liste tous les fichiers exclus du suivi de version dans ce projet

Enregistrer des fragments

Mettre en suspens des modifications non finies pour y revenir plus tard

$ git stash 

Enregistre de manière temporaire tous les fichiers sous suivi de version qui ont été modifiés (“remiser son travail”)

$ git stash pop 

Applique une remise et la supprime immédiatement

$ git stash list 

Liste toutes les remises

$ git stash drop 

Supprime la remise la plus récente

Enregistrer des fragments

Mettre en suspens des modifications non finies pour y revenir plus tard

$ git stash

Enregistre de manière temporaire tous les fichiers sous suivi de version qui ont été modifiés (“remiser son travail”)

$ git stash pop 

Applique une remise et la supprime immédiatement

$ git stash list 

Liste toutes les remises

$ git stash drop 

Supprime la remise la plus récente

Vérifier l’historique des versions

Suivre et inspecter l’évolution des fichiers du projet

$ git log 

Montre l’historique des versions pour la branche courante

$ git log --follow [fichier]

Montre l’historique des versions, y compris les actions de renom- mage, pour le fichier spécifié

$ git diff [premiere-branche]...[deuxieme-branche] 

Montre les différences de contenu entre deux branches

$ git show [commit] 

Montre les modifications de métadonnées et de contenu inclues dans le commit spécifié

Refaire des commits

Corriger des erreurs et gérer l’historique des corrections

$ git reset [commit] 

Annule tous les commits après [commit], en conservant les modifications localement

$ git reset --hard [commit] 

Supprime tout l’historique et les modifications effectuées après le commit spécifié

Synchroniser les changements

Référencer un dépôt distant et synchroniser l’historique de versions

$ git fetch [nom-de-depot]

Récupère tout l’historique du dépôt nommé

$ git merge [nom-de-depot]/[branche] 

Fusionne la branche du dépôt dans la branche locale courante

$ git push [alias] [branche] 

Envoie tous les commits de la branche locale vers GitHub

$ git pull 

Récupère tout l’historique du dépôt nommé et incorpore les modification