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

Réécrire l'historique

Commit --amend - Modifier le dernier commit

La commande git commit --amend permet de modifier le dernier commit.

En vidéo :

  • (optionnel) Vous pouvez ajouter des modifications au commit précédent en les ajoutant à l'index (git add . ou git add nomDuFichier)
  • git commit --amend vous ouvre l'éditeur de texte pour modifier le message du dernier commit (le fermer pour valider)
  • Votre dernier commit a été modifié (et n'a plus le même identifiant)

⚠️ Si vous aviez déjà envoyé le commit sur le dépôt distant, il faudra utiliser l'option --force lors du push. Veillez donc à ne pas perdre des commits sur le distant !

Rebase - Modifier tout l'historique

La commande git rebase permet de modifier l'historique de la branche en cours. Non seulement d'en changer la "base" (son commit de départ), mais aussi de réécrire les commits eux-mêmes.

En vidéo :

L'utilisation la plus complète est git rebase -i main (remplacer main par une autre branche si besoin), qui vous ouvre un éditeur pour définir ce que vous souhaitez faire pour chaque commit présent entre la tête de lecture et le dernier commit de la branche main.

Vous pouvez, entre autre :

  • utiliser le commit en utilisant p ou pick sur la ligne de votre commit (il sera utilisé sans modification)
  • supprimer le commit en utilisant d ou drop sur la ligne de votre commit (il sera supprimé, ainsi que les modifications qu'il contient). Notez que c'est équivalent à supprimer la ligne du commit
  • modifier le message de commit en utilisant r ou reword sur la ligne de votre commit (vous ouvrira un éditeur de texte pour modifier le message)
  • fusionner un commit avec le précédent en utilisant s ou squash sur la ligne de votre commit (un seul des deux commits sera conservé, mais toutes les modifications seront conservées)

Une fois que vous avez choisi quoi faire de chaque commit, les commandes indiquées et les commits seront appliqués l'un après l'autre.

⚠️ Si vous aviez déjà envoyé les commits sur le dépôt distant, il faudra utiliser l'option --force lors du push. Veillez donc à ne pas perdre des commits sur le distant !

Dernières mise à jour :
Prev
Annuler des changements
Next
Des outils pour se simplifier Git