Déplacer le commit vers une autre branche dans Git
- Calculer le nombre de commits à déplacer dans Git
- Déplacer des commits vers une nouvelle branche dans Git
- Déplacer les commits vers une branche existante dans Git
Git est un outil très utile et puissant dans le monde du logiciel moderne. De nombreux types de fichiers et de codes peuvent être stockés via la création de branches et le commit dans Git. La création de branches est un concept différent selon le système de contrôle de version que vous utilisez. De nombreux développeurs supposent qu’il s’agit du système de contrôle de version préféré en raison de son efficacité.
La plupart du temps, nous sommes confrontés à cette situation lorsqu’après avoir terminé un travail et nous être engagés dans une branche spécifique, nous réalisons que nous nous sommes engagés par erreur dans la mauvaise branche et que nous voulons l’engager à nouveau sur une autre branche. Ici, Git vient à notre rescousse, nous permettant de déplacer nos commits vers d’autres branches existantes ou sur la nouvelle branche.
Ce guide nous donnera une compréhension de base de la façon de déplacer nos engagements vers une autre branche, qu’elle soit nouvelle ou existante. De plus, nous verrons comment créer une nouvelle branche avec la commande git branch, déplacer un commit avec la commande git reset
et fusionner ces modifications dans la branche principale avec la commande git merge.
Calculer le nombre de commits à déplacer dans Git
Avant de commencer tout le processus, nous devons juger de la situation. Supposons que nous ayons vérifié la branche que nous allons modifier ; nous devons voir l’histoire à cette fin.
Nous utiliserons la commande suivante pour calculer le nombre de commits à déplacer.
git log
Après l’exécution, nous pouvons voir que le HEAD
est constitué de deux commits à la tête de origin/HEAD
, et ce sont les deux commits souhaités dont nous avons besoin pour passer à une autre branche. Vous trouverez ci-dessous les étapes restantes, dans lesquelles nous expliquerons comment déplacer ces commits vers une nouvelle branche ou une branche existante.
Déplacer des commits vers une nouvelle branche dans Git
Les étapes ci-dessous nous montreront comment déplacer nos derniers commits vers une nouvelle branche.
-
Création d’une nouvelle branche
git branch feature/new branch
Cette commande va créer une nouvelle branche qui inclura tous les commits de la branche
master(current)
. -
Reculez la branche actuelle de deux commits
git reset --keep HEAD~2
-
Découvrez la nouvelle branch
git checkout feature/new branch
En les exécutant, nos deux derniers commits ont été supprimés de master
(branche actuelle) et ajoutés dans une nouvelle branche appelée feature/new branch
.
Déplacer les commits vers une branche existante dans Git
Les étapes ci-dessous nous montreront comment déplacer nos derniers commits vers une branche existante. Cela nous sera utile si nous avons travaillé à partir d’une branche de fonctionnalité, mais que nous avons commencé à faire des commits dans la mauvaise branche par erreur. Supposons que la branche courante, avec les commits que nous voulons supprimer, soit master
.
-
Vérification de la branche existante
git checkout feature/existing branch
La commande
git checkout
ne se limite pas à travailler uniquement avec le répertoire de travail. Il peut également être utilisé pour déplacer le pointeur de référenceHEAD
vers un point de référence sur une branche. -
Fusionner la branche principale
git merge master
La commande
git merge
peut également être utilisée pour fusionner des branches dans la branche actuelle, mais uniquement si la branche actuelle a déjà été fusionnée dans les branches en cours de fusion. -
Découvrez la branche master
git checkout master
La commande
checkout
master déroule la dernière version du code et crée une nouvelle branche appeléemaster
. -
Reculez la branche actuelle de deux commits :
git reset --keep HEAD~2
L’option
--keep
réinitialisera les entrées d’index et mettra à jour les fichiers dans l’arbre de travail qui sont différents entre commit etHEAD
. Lorsque le fichier est différent entre le commit et HEAD a des modifications locales, la réinitialisation est terminée. Ainsi, les deux derniers commits ont été retirés dumaster
et ajoutés à une branche existante.
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.
LinkedInArticle connexe - Git Commit
- Afficher l'historique des validations pour une branche à l'aide de Git Log With Range
- Afficher les fichiers dans Git Commit
- Commits multiples à l'aide de Cherry-Pick dans Git
- Copier les commits d'une autre branche dans Git
- Git Afficher les changements dans le commit
- Modifier l'éditeur Git pour les commits