Réinitialiser HEAD dans Git

Abdul Jabbar 30 janvier 2023
  1. Réinitialisation de la tête Git
  2. Git Head Reset --soft
  3. Git Head Reset --mixed
  4. Git Head Reset --hard
Réinitialiser HEAD dans Git

Git nous aide à bien des égards lorsque nous travaillons sur des référentiels partagés.

Nous pouvons exécuter de nombreuses fonctions à l’aide de Git, car nous pouvons créer une nouvelle branche, fusionner une branche, supprimer une branche, selon nos besoins. Ces actions peuvent être accomplies via plusieurs commandes Git.

La commande git reset est une fonctionnalité composée et multisource pour annuler les modifications. Cette commande peut être utilisée avec trois options principales : --soft, --mixed, --hard.

Ces trois arguments correspondent au mécanisme de gestion de Git appelé The Commit Tree (HEAD).

Le HEAD indique le dernier commit lorsque la branche de paiement Git est appliquée. De plus, on peut aussi dire que Git HEAD pointe vers le dernier commit de la branche courante.

Lorsque nous vérifions une branche ou créons une nouvelle branche, Git HEAD transfère le dernier commit à notre branche locale. Plus précisément, HEAD est un pointeur qui pointe toujours vers le commit courant, et il peut ou parfois ne pas appartenir à la branche courante.

Réinitialisation de la tête Git

Lorsque nous avons enregistré nos modifications dans le référentiel souhaité, nous devrions être détendus que nous avons utilisé la commande git reset pour revenir à ces modifications qui sont effectuées, cela ramènera notre branche actuelle à son emplacement d’origine où elle se trouvait avant le la commande s’est exécutée.

L’option HEAD libère la nouvelle branche. Nous pouvons dire que ce que git reset-hard HEAD peut faire, c’est supprimer tous les changements que nous avons effectués et qui ne sont pas validés.

La commande git reset peut être utilisée en combinaison avec d’autres commandes :

  • Transfère ce vers quoi pointe la branche HEAD.
  • Pour le faire ressembler à un objet arbre.
  • Pour ressembler au dossier de travail actuel.

Et, il existe deux catégories différentes de git reset.

Git Head Reset --soft

Cette commande Git réinitialisera la HEAD. Mais notre index et notre répertoire de travail ne seront en aucun cas affectés.

Nous pouvons utiliser l’option de commande Git reset pour réinitialiser la tête d’une branche locale :

git reset --soft

Git Head Reset --mixed

La commande mixte git reset changera l’emplacement de la tête pour le commit spécifié, et en outre, elle supprimera les modifications de la zone de transfert. Ceci est un exemple d’annulation des modifications.

Donc, si nous exécutons la commande Git reset HEAD, cela déplacera à nouveau HEAD vers le premier commit parent. La syntaxe de la situation décrite ci-dessus est la suivante :

git reset --mixed or $ git reset

Git Head Reset --hard

Cette commande peut être un obstacle pour nous. Il ne peut être utilisé que si nous savons exactement comment l’utiliser.

Lorsque nous utilisons git reset-hard HEAD pour restaurer le dernier commit, cela devient un problème pour nous. Heureusement, nous, les développeurs, avons une meilleure solution pour sa correction.

Notez que git reset --hard est une commande menaçante. Il peut écraser toutes nos modifications non-engagées. Nous devons d’abord le vérifier et nous assurer que la sortie d’état Git est propre avant de le traiter.

Cette commande supprimera les commits stockés dans l’index si nous voulons supprimer tous les commits dans l’index et la zone de staging (nous devons annuler notre dernier commit et le dernier commit avant cela). Nous pouvons utiliser la commande de réinitialisation Git avec l’option --hard :

git reset --hard HEAD~2

Cette commande supprimera tout commit de l’index et de la zone de transit. Cela supprimera également le commit de l’historique.

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

Article connexe - Git Reset