Quelques commandes utiles sous Git que chaque débutant doit connaitre
Hello! Aujourd'hui je vais vous parler de Git.
Git est le système de contrôle de version distribué (ou simplement l'outil de collaboration) le plus célèbre et le plus performant jusque là.
Dans cet article je partage avec vous une liste (non exhaustive) de commandes Git utiles. Ces commandes ont été initialement posté sur twitter par eliaswalyba.
En effet, Elias est un Senior AI/ML consultant et CoFounder DopeLab and @GalsenAI.
Vous pouvez le retrouver sur Twitter, GitHub, LinkedIn et YouTube (il y publie des tutoriels)
Maintenant, passons aux choses sérieuses!
INSTALLER GIT
Pour installer Git, rendez vous sur le site https://git-scm.com/downloads. Télécharger la distribution correspondante à votre système et installer la.
Sur Ubuntu ouvrez votre terminal et tapez
$ sudo apt install git
et le tour est joué. Vous avez Git installé
Dans la suite de cet article, toutes les commandes que je vous présente s’exécutent sur un terminal (cmd pour Windows). Ce pendant il existe des outils graphique qui vous permettent de manipuler Git. Mais pour un début je ne vous les conseille pas.
PREMIÈRES CONFIGURATION
Configurer les informations utilisateur pour tous les référentiels locaux
$ git config --global user.name "Votre nom"
Définit le nom que vous voulez attacher à vos transactions de commit
$ git config --global user.email "Votre adresse email"
Définit l'email que vous voulez attacher à vos transactions de commit
$ git config --global color.ui auto
Active la colorisation utile de la sortie en ligne de commande
CRÉER DES DÉPÔTS
Démarrer un nouveau référentiel ou en obtenir un à partir d'une URL existante
$ git init nom_du_projet
Crée un nouveau référentiel local avec le nom spécifié
$ git clone url
Télécharge un projet et l'historique de ses versions
FAIRE DES CHANGEMENTS
Vérifier les modifications et cré une transaction de validation
$ git status # Répertorie tous les fichiers nouveaux ou modifiés à valider
$ git add nom_du_fichier # Capture instantanée du fichier en préparation
$ git reset [fichier] # Décompose le fichier mais conserve son contenu
$ git diff # Affiche les différences de fichier non encore mises en scène
$ git diff --staged # Affiche les différences de fichier entre le transfert et la dernière version du fichier
$ git commit -m "Une petite description de votre commit" # Enregistre les fichier de manière permanente dans l'historique des versions
REGROUPER DES CHANGEMENTS
$ git branch # Répertorie toutes les branches locales du référentiel actuel
$ git branch nom-branche # Cré une nouvelle branche
$ git checkout nom-branche # Bascule vers la branche spécifiée et met à jour le répertoire de travail
$ git merge nom-branche # Combine l’historique de la branche spécifiée dans la branche actuelle
$ git branch -d nom-branche # Supprime la branche spécifiée
MODIFICATIONS SUR LES FICHIERS
Déplacer et supprimer les fichiers versionnés
$ git rm nom_fichier # Supprime le fichier du répertoire de travail
$ git rm --cached nom_fichier # Supprime le fichier du contrôle de version mais conserve le fichier localement
$ git mv ancien_nom_fichier nouveau_nom_fichier # Change le nom du fichier et le prépare pour le commit
EXCLUSION DE FICHIER
Exclure les fichiers temporaires et les chemins
Pour exclure certains fichier (ne pas les traquer par Git)
Créez un fichier nommé .gitignore et mettez y tous les fichiers que vous voulez exclure.
$ git ls-files --other --ignored --exclude-standard # Répertorie tous les fichiers exclu dans ce projet
SAUVEGARDER DES FRAGMENTS DE FICHIERS
Doubler et restaurer les modifications incomplètes
$ git stash # Stocke temporairement tous les fichiers suivis modifiés
$ git stash list # Répertorie tous les changements cachés
$ git stash pop # Restaure les derniers fichiers cachés
$ git stash drop # Ignore le plus récent jeu de modifications stocké
VOIR L'HISTOIRE DE VOTRE PROJET
Parcourir et inspecter l'évolution des fichiers de projet
$ git log # Répertorie l'historique des versions de la branche actuelle
$ git log --follow nom_fichier # Répertorie l'historique des versions d'un fichier, renommage compris
$ git diff nom-branche-1 ... nom-branche-2 # Affiche les différences de contenu entre deux branches
$ git show hash-du-commit # Affiche les métadonnées et les modifications de contenu du commit spécifié
REFAIRE DES COMMITS
Effacer les erreurs et l'historique des remplacements
$ git reset hash-du-commit # Annule tous les commits après [hash-du-commit], en préservant les modifications localement. Le hash-du-commit est un identifiant unique octroyé à chaque commit. Par exemple 793e57778a8e33ee61044a8255ee3b37368596a7 est un hash-du-commit
$ git reset --hard hash-du-commit # Ignore tout l'historique et rétablit le commit spécifié
SYNCHRONISER VOS CHANGEMENTS (SUR UN SERVEUR)
Enregistrer un signet de référentiel et échanger l'historique des versions
$ git fetch url # Télécharge tout l'historique du signet du référentiel
$ git push url nom-branche # Télécharge tous les commits des branches vers un serveur
$ git pull url nom-branche # Télécharge l'historique des signets et intègre les modifications
Voici donc quelque commandes de Git qu'Elias a publié sur son fil Twitter.
Après je ne retient pas toutes les commandes mais sur internet vous pouvez trouver plein de ressources pour apprendre à utiliser Git. C'est une technologie incontournable maintenant surtout dans le milieu professionnel et malheureusement on en parle jamais dans les universités / instituts de formations.