Supprimer le commit d'une branche dans Git

Abdul Jabbar 30 janvier 2023
  1. Supprimer les modifications si elles ne sont pas transmises au référentiel dans Git
  2. Supprimer les modifications si elles sont transférées vers le référentiel dans Git
  3. Supprimer le commit supprimé
Supprimer le commit d'une branche dans Git

Lorsque nous commençons à travailler sur un projet massif, nous rencontrons souvent des situations où nous devons mettre à jour, supprimer ou ajouter des pièces dans une branche. La maintenance des messages de validation peut être un obstacle pour l’équipe si la durée de développement s’étend sur une période plus longue avec un délai strict.

Donc, pour simplifier la maintenance de l’historique des commits concis, nous allons apprendre l’utilisation de certaines conditions courantes dans cet article que nous pourrions parcourir en travaillant avec Git.

Git nous fournit quelques commandes pour supprimer nos commits précédents de la branche. Les stratégies et commandes disponibles sont décrites ci-dessous dans cet article.

Il existe plusieurs façons dans Git de supprimer ou de supprimer un commit de la branche. La première étape consiste à déterminer quelle astuce convient le mieux à notre scénario, selon que nous avons ou non poussé notre commit dans le référentiel.

Avant d’essayer, notons que l’exécution de ces commandes supprimer nos changements de répertoire de travail. Et aussi, notez que pour enregistrer séparément les modifications que nous aimerions avoir dans le référentiel à l’avenir, git reset est une commande qui réinitialise notre répertoire de travail au commit spécifié.

Supprimer les modifications si elles ne sont pas transmises au référentiel dans Git

Dans le scénario où nous n’avons pas poussé nos modifications vers le référentiel, la commande suivante sera utilisée.

git reset --hard HEAD~1

Cela supprimera tous les changements de répertoire de travail et déplacera HEAD vers le commit avant HEAD.

Supposons que nous devions supprimer les commits vers le haut jusqu’à un commit particulier. Dans ce cas, nous exécuterons la commande git log dans la ligne de commande pour trouver l’ID de validation particulier, puis exécuterons ce qui suit :

git reset --hard <sha1-commit-id>

Cela omettra tous les changements de répertoire de travail et déplacera HEAD vers le commit choisi.

Supprimer les modifications si elles sont transférées vers le référentiel dans Git

Dans l’autre scénario, lorsque nous avons déjà poussé nos modifications, nous devons exécuter la commande suivante.

git push origin HEAD --force 

Notez que si d’autres ont extrait la branche respective, il serait préférable de commencer par la dernière branche. Si nous ne faisons pas cela quand quelqu’un d’autre a tiré, cela le combinera dans son travail, et nous le ferons remonter une fois de plus.

Si nous rencontrons une situation où nous devons trouver un commit que nous avons supprimé, il est présent dans git reflog à moins que nous ayons des déchets collectés dans notre référentiel.

Supprimer le commit supprimé

Pour supprimer un commit supprimé de la branche, nous pouvons utiliser la commande suivante :.

git reset --soft HEAD^

Cette commande annulera ou réinitialisera toutes les modifications du commit précédent et les ramènera dans un nouveau commit dans le référentiel.

Auteur: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn