Cours de Rémi JarjatCours de Rémi Jarjat
  • Liste des cours
  • Culture numérique
  • Git
    • Terminologie
    • Avant de commencer
    • Créer un dépôt (local)
    • Enregistrer des changements
    • Des branches
    • Mise en commun du travail
    • Annuler des changements
    • Réécrire l'historique
    • Des outils pour se simplifier Git
    • Exercices
    • Exemples pratiques
  • Linux
    • Installation
    • Historique
    • Rangement des fichiers
    • Les processus
    • Commandes de base
    • Commandes avancées
    • /linux/6-other-technologies.html
    • Exercices
    • Correction des exercices
  • PHP
    • Environnement de travail
    • Bases du PHP
    • Tests et boucles
    • Procédures et fonctions
    • Interagir avec l'utilisateur
    • La temporisation de sortie
    • PHP Doc et PSR
    • PHP Orienté objet
    • Héritage et objets
    • Factorisation
    • Manipuler la BdD avec PDO (PHP Data Object)
    • Architecture MVC
    • Webservices REST
    • Exercices - Bases
    • Exercices - Séparer en plusieurs fichiers
    • Exercices - POST et SESSION
    • Exercices - Panier et validation
    • Exercices - Objets
    • Exercices - BdD avec PDO
    • Projet - montage d'ordinateurs
    • Projet - Personnages de Jeux de Rôle
  • Symfony
    • Installer Symfony et son environnement de travail
    • Structure et utilisation d'un projet
    • Le routing
    • Les controllers
    • Twig
    • Les services et l'injection de dépendances
    • Doctrine et la BdD
    • Formulaires
    • Les traductions
    • Event listeners/subscribers
    • Connexion et sécurisation
    • Bundles
    • Easy Admin Bundle
    • API Platform
    • Pense-bêtes
    • Symfony au quotidien
    • Travailler avec Docker
    • Projet : annonces de SPA / éleveurs
    • Exercices
  • Javascript
    • Les bases du langage
    • Manipulation logique
    • Le DOM
    • JQuery
    • Ajax
    • Programmation orientée objet
    • Webpack
    • Outils utiles
    • Révisions
  • Serveur Lamp
  • Déploiement
    • Des outils et manières de faire
    • Déploiement par FTP
    • Wordpress
    • Intégrer Git dans le processus
    • GitHub Pages pour déployer facilement
    • Symfony et Angular
  • Docker
  • Intégration continue
  • Sécurité informatique

Enregistrer des changements

Status - Voir l'état du dépôt local

En vidéo :

git status :

Cette commande nous permet de voir les modifications depuis la dernière version enregistrée (le dernier commit). On peut y voir les fichiers créés, modifiés ou supprimés, et s'ils sont en attente de validation ou non (ajoutés à l'index, ou non).

Diff - Voir les modifications en attente

En vidéo :

git diff affiche l'ensemble des modifications sur les fichiers déjà versionnés par Git. Cette commande présente tous les fichiers modifiés et les changements à l'intérieur (les lignes commençant par + sont ajoutées, celles commençant par - sont supprimées par rapport à la version précédemment enregistrée).

Pour voir uniquement les modifications d'un ou plusieurs fichiers, utiliser git diff nomDuFichier nomDUnAutreFichier.

.gitignore - Ne pas versionner des fichiers

En vidéo :

Très souvent dans vos projets, vous ne voulez pas versionner certains fichiers (librairies externes qui sont téléchargées avec des gestionnaires de paquets (npm, composer, etc.), fichiers de cache, liés à l'IDE, etc.). Pour cela, on peut créer/modifier un fichier .gitignore à la racine du projet pour indiquer à Git les fichiers et dossiers à ignorer.

/node_modules/ # le dossier node_modules/ ne sera pas versionné
.vuepress/dist/ # Le sous-dossier dist/ du dossier .vuepress/ est ignoré (le reste du dossier .vuepress/ est versionné)
*.sublime-* # tous les fichiers qui contiennent .sublime- dans leur nom sont ignorés
.idea/ # Si vous utilisez PhpStorm, je vous recommande d'ignorer ce dossier également
.vscode/ # Si vous utilisez Visual Studio, je vous recommande d'ignorer ce dossier également
test.md # Le fichier test.md sera ignoré
**/*.cache # les fichiers terminant par .cache seront ignorés (dans les sous-dossiers, quel que soit leur niveau) 

Add - Préparer un commit

En vidéo :

git add permet d'ajouter des modifications à l'index. L'idée de cette commande est de préparer la création d'un commit (version signée contenant un ensemble cohérent de modifications) et de dire à Git quelles modifications nous allons vouloir valider par la suite.

Quelques usages courants :

  • git add . ajoute à l'index toutes les modifications, ainsi que les nouveaux fichiers et les fichiers supprimés
  • git add nomDuFichier nomDUnAutreFichier ajoute uniquement à l'index les modifications des fichiers nomDuFichier et nomDUnAutreFichier
  • git add -p ouvre un mode interactif permettant de choisir quelles modifications ajouter à l'index dans vos fichiers modifiés (n'affiche pas les nouveaux fichiers ou les fichiers supprimés).

Reset - Sortir des éléments de l'index

Si vous avez ajouté des fichiers à l'index, avec git add, mais que vous voulez les sortir de l'index, la commande git reset permet de revenir en arrière.

Quelques usages courants :

  • git reset pour sortir tous les fichiers de l'index (vous conservez les modifications)
  • git reset nomDuFichier pour sortir uniquement le fichier nomDuFichier de l'index (vous conservez les modifications)
  • git reset --hard pour sortir tous les fichiers de l'index et supprimer toutes les modifications

Commit - Valider des modifications

En vidéo :

git commit enregistre les modifications de l'index et leur associe un auteur (avec un nom et un email) et un message (obligatoire). On peut dire que git commit créer une nouvelle version ou valide les modifications.

Quelques usages courants :

  • git commit -m "Votre message de commit" vous permet de créer un commit et d'y associer directement un message
  • git commit vous permet de créer un commit et ouvre l'éditeur de texte par défaut pour entrer un message

⚠️ Dans tous les cas, si vous laissez un message vide, le commit ne sera pas enregistré.

Vous pouvez également ajouter des emojis dans vos messages, si vous le souhaitez.

Log - Voir l'historique des commits

En vidéo :

Pour voir l'historique des commits, avec leurs auteurs, les dates, etc. on utilise la commande git log.

Quelques usages courants :

  • git log affiche toutes les informations des commits, sous forme de liste (un peu rude à lire parfois)
  • git log --graph les affiche sous forme d'arbre (très pratique lorsque votre dépôt a des branches)
  • git log --oneline les affiche sous forme courte (identifiant de commit + message uniquement)
  • git log -p nom-du-fichier pour voir l'historique et les modifications d'un fichier

Stash - Remiser des modifications

En vidéo :

Il se peut que, pour une raison ou une autre, vous ayez besoin de mettre des modifications de côté (changement de ticket, une fonctionnalité à décaler / annuler, etc.). Les stash, ou remisages, permettent de revenir au commit précédent et faire disparaitre les modifications en cours sur vos fichiers, en les sauvegardant ailleurs.

Quelques usages courants :

  • git stash pour mettre de côté toutes les modifications en cours (⚠️ ne remise pas les nouveaux fichiers, git stash -u permet de le faire)
  • git stash pop pour appliquer les modifications du dernier stash enregistré et le supprimer du remisage
  • git stash apply pour appliquer les modifications du dernier stash enregistré et le conserver dans le remisage

Quelques usages moins courants (avec plusieurs stashes) :

  • git stash list pour afficher la liste des stashes
  • git stash save "Un message pour se souvenir" pour créer un stash avec un message associé. Très pratique pour se rappeler du but ou du contexte de ce stash
  • git stash pop stash@{1} pop le stash avec l'identifiant 1 (voir le retour de git stash list)
  • git stash show pour afficher le contenu du stash (git stash show -p pour voir le diff)
  • git stash drop stash@{1} supprime le stash avec l'identifiant 1 (⚠️ ces modifications sont perdues)
  • git stash clear supprime tous les stashes
Dernières mise à jour :
Prev
Créer un dépôt (local)
Next
Des branches