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.
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