Kévin Subileau

Espace personnel

Git-Logo

Git - Modifier un ancien commit avant publication

Lorsque l'on travaille avec Git, en cas d'erreur sur le dernier commit comme un fichier manquant ou une portion de code resté commentée, il est simple de le modifier avec le paramètre --amend, tant que ce commit n'a pas été poussé sur le dépôt public.

Mais qu'en est-il pour un commit plus ancien ? Imaginez par exemple que vous faites deux commits et que vous vous apercevez d'une erreur sur l'avant dernier, juste avant de pousser le tout sur le dépot public. Pour corriger cette bavure, vous pouvez alors utiliser la séquence de commandes suivante.

Tout d'abord, commencez par identifier le numéro du commit que vous souhaitez modifier. Pour cela, vous pouvez utiliser la commande git log pour afficher l'historique. Disons qu'il s'agit par exemple du commit b8603aca. Utilisez ensuite la commande rebase pour revenir à ce commit :

git rebase --interactive b8603aca^

Bien évidemment, remplacer le numéro de commit par le vôtre dans la commande précédente. Dans l’éditeur de texte par défaut, remplacer pick par edit sur la ligne correspondant au commit que vous souhaitez modifier, puis enregistrez et quittez. Ouvrez ensuite votre éditeur préféré et faites les modifications nécessaires. Une fois que tout est bon, ajouter les fichiers modifiés et les nouveaux avec git add, puis modifier le commit en utilisant la commande suivante :

git commit -a --amend --no-edit

Ensuite, il ne vous reste plus qu'à restaurer les commits suivants avec la commande ci-dessous :

git rebase --continue

Résolvez les éventuels conflits et c’est tout ! Notez bien que cette méthode ne fonctionne que si les commits à partir de celui que vous souhaitez modifier n'ont pas été poussé sur le dépôt public ! Dans le cas contraire, le plus simple reste de faire un nouveau commit pour corriger les erreurs de l'ancien.

DSC01131_thumb

Sauvegarder et restaurer le MBR

Premier secteur d'un support de stockage, le Master Boot Record ou MBR concentre en 512 octets des données très précieuses pour le fonctionnement correct d'un disque dur, d'un SSD, ou d'une clé USB. De plus, si un système d'exploitation est installé sur le support, le MBR est également primordial pour le démarrage de celui-ci.

En effet, le MBR contient la table des partitions et une routine d’amorçage (un petit programme) permettant de charger le système d’exploitation ou le chargeur d’amorçage (bootloader).

Or parfois, il est possible que le MBR soit endommagé, suite à une erreur de partitionnement ou une infection virale par exemple. Les partitions peuvent alors devenir inaccessibles et le système peut ne plus démarrer en affichant un message d'erreur du type "Boot device not found". Dans ce cas, il suffit parfois de restaurer le MBR pour tout réparer. Encore faut-il avoir une sauvegarde sous la main...

Il y a donc tout intérêt à sauvegarder ces informations essentielles pour pouvoir les restaurer plus tard si nécessaire, d'autant que l'opération est très rapide. Vous devez simplement sauvegarder à nouveau le MBR après chaque repartitionnement ou installation d'un système d'exploitation, car ces opérations en modifient le contenu. La procédure, plutôt simple, est décrite ci-dessous pour Windows et Linux.

Attention toutefois : Les manipulations décrites dans cet article peuvent entrainer une perte de données et même rendre le support inutilisable si elles ne sont pas exécutées correctement ! Tournez 7 fois votre index au-dessus de votre souris avant de cliquer !

Notez également que, pour que la sauvegarde prenne tout son sens, je vous recommande très fortement de l'enregistrer sur un autre support que celui dont vous sauvegarder le MBR (autre disque dur, clé USB, CD-Rom, Google Drive...) pour pouvoir le récupérer lorsque le support sera en panne...
Lire la suite →