555 votes

déplacer les fichiers modifiés dans une autre branche pour l'enregistrement

Cela m’arrive souvent: j’écris du code, j’enregistre mes modifications, puis j’aperçois que je ne suis pas dans la branche appropriée pour archiver ces modifications. Cependant, je ne peux pas changer de branche sans que mes modifications soient inversées. Existe-t-il un moyen de transférer les modifications dans une autre branche pour y être enregistrées?

984voto

Bill Door Points 2561

git stash est votre ami.

Si vous n'avez pas encore fait le commit, lancez git stash . Cela évitera toutes vos modifications.

Basculez vers la branche sur laquelle vous souhaitez effectuer les modifications et exécutez git stash pop .

Il y a beaucoup d'utilisations pour Git Stash. C'est certainement l'une des raisons les plus utiles.

Un exemple:

 # work on some code
git stash
git checkout correct-branch
git stash pop
 

295voto

Amber Points 159296

Si vous ne l'avez pas déjà engagés vos modifications, il suffit d'utiliser git checkout pour passer à la nouvelle branche et puis les valider normalement - les modifications apportées aux fichiers ne sont pas liés à une branche particulière jusqu'à ce que vous vous engagez.

Si vous avez déjà engagés vos modifications:

  1. Type git log et n'oubliez pas le SHA de la validation que vous souhaitez déplacer.
  2. Découvrez la branche que vous souhaitez déplacer la livraison.
  3. Type git cherry-pick SHA la substitution de la SHA à partir de ci-dessus.
  4. Revenir à l'original de votre branche.
  5. Utiliser git reset HEAD~1 pour remettre avant votre mal-direction de la commettre.

cherry-pick prend une validation donnée et l'applique à l'extrait en tête, ce qui vous permet de copier le commettre à une nouvelle branche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X