Comment déplacer les modifications vers une autre branche dans Git
Sommaire
Liens rapides
-
Déplacement des modifications (si vous ne vous êtes pas encore engagé)
-
Déplacement des commits (si vous vous êtes déjà engagé)
Points clés à retenir
-
Git aide à organiser les modifications avec les branches, mais des validations erronées peuvent causer des problèmes.
-
Pour déplacer les modifications, changez de branche en utilisant le « git checkout
» commande.
-
Pour corriger les erreurs commises, effectuez une réinitialisation logicielle avant de basculer afin que vos modifications ne soient pas encore validées.
Bien que Git assure le suivi de vos modifications quotidiennes, il propose également des systèmes tels que des branches qui vous aident à vous organiser. Cependant, si vous ne faites pas attention, vous pouvez vous retrouver avec des problèmes tels que des validations et des modifications apportées à la mauvaise branche, qui peuvent être difficiles à résoudre sans les bonnes commandes.
Déplacement des modifications (si vous ne vous êtes pas encore engagé)
Git surveille l'ensemble de votre dossier, mais les modifications que vous apportez aux fichiers ne sont pas liées à une branche Git spécifique jusqu'à ce que vous les validiez. Vous pouvez déplacer des branches et apporter ces modifications avec vous.
L'option la plus simple consiste simplement à changer de branche, mais cela ne fonctionnera que si les deux branches que vous ciblez avoir un historique correspondant:
git checkout feature
Vous pouvez contourner ce problème de plusieurs manières. La première consiste à créer une nouvelle branche, puis à fusionner les historiques divergents :
git checkout -b tempfeaturegit checkout feature
git merge tempfeature
Vous pouvez également utiliser git stash
pour stocker les modifications pour plus tard et les réappliquer sur une nouvelle branche :
git stashgit switch feature
git stash apply
Déplacement des commits (si vous vous êtes déjà engagé)
Si vous vous êtes déjà engagé, ne vous inquiétez pas ; vous pouvez toujours effectuer une réinitialisation logicielle, de sorte que les validations ne sont pas définitives tant qu'elles ne sont pas transmises au contrôle de source distant. Si vous l'avez déjà fait, vous pouvez toujours résoudre le problème, mais l'enregistrement de votre erreur restera dans votre historique Git, il est donc préférable de le faire localement avant que vos collègues ne le voient.
Pour annuler les validations, vous pouvez simplement effectuer une réinitialisation logicielle, en annulant généralement simplement la dernière validation effectuée, mais vous pouvez également transmettre une référence à l'ID de validation :
git reset HEAD~1
Cela vous laissera à l'état « pas encore validé », après quoi vous pourrez utiliser les méthodes ci-dessus pour résoudre le problème.
Alternativement, vous pouvez utiliser git cherry-pick
. Cette commande copie les commits d'une branche à une autre et constitue un bon moyen de sélectionner les commits et de les déplacer vers de nouvelles branches de manière propre.
Courir git log
pour trouver l'ID du commit que vous souhaitez annuler :
git log
Ensuite, extrayez la branche des fonctionnalités, en supposant que vos modifications ont été validées, et exécutez cherry-pick
:
git switch featuregit cherry-pick
Après cela, il y aura toujours un commit en double sur la branche principale. Vous pouvez réinitialiser cela et ignorer les modifications si la branche de fonctionnalités est dans le bon ordre, ou la conserver et laisser Git la trier une fois que vous avez fusionné.
Si vous souhaitez en savoir plus sur l'utilisation de Git, découvrez comment vous pouvez toujours savoir dans quelle branche vous vous trouvez ou voyez si vous connaissez toutes les commandes de base de Git.