102 votes

Changer de nom de branche en git

Il peut y avoir plus d'une façon de poser cette question, alors voici une description du problème. Je travaillais sur le master et les commis certaines choses et ensuite décidé que je voulais mettre ce travail en attente. J'ai sauvegardé un peu de validations et puis ramifiée d'avant j'ai commencé mon travail de la merde. Pratiquement, cela fonctionne bien, je viens d'avoir maintenant une autre branche de ma branche de développement principale. Je me demandais comment je pouvais changer les choses autour de sorte que je suis en train de travailler sur le master de nouveau, mais il n'a pas mon ordure de travail et a déclaré que le travail est sur une autre branche.

D'une certaine façon cela pourrait être demandé/résolu: Comment puis-je renommer mon maître branche à autre chose et puis renommer en quelque chose d'autre pour le maître? Comment puis-je sauvegarder maître, et de provoquer tous les commits j'ai sauvegardé passé pour être sur une autre branche?

Merci à tous pour le (rapide) des réponses! Ils sont tous bon.

143voto

Greg Hewgill Points 356191

Outre les autres commentaires, vous pouvez trouver le commutateur -m (move) sur git-branch utile. Vous pouvez renommer votre ancien maître en un autre, puis renommer votre nouvelle branche pour la maîtriser:

 git branch -m master crap_work
git branch -m previous_master master
 

31voto

Brian Riehman Points 7510

Je pense que vous devriez envisager une autre stratégie de développement afin de prévenir les problèmes de ce genre. Celui qui semble fonctionner le mieux pour moi est de ne jamais faire de développement directement sur ma branche master. Quels que soient les changements que je fais, j'ai toujours créer une nouvelle branche pour le nouveau code:

git checkout -b topic/topic_name maître

À partir de là, je peux pousser les changements de référentiels publics:

git push pu topic/topic_name

ou, finalement, juste l'intégrer dans ma branche master:

git checkout master && git merge sujet/topic_name

Si vous avez vraiment besoin de revenir à un point dans le temps et le définir comme votre maître, vous pouvez renommer la branche de quelque chose d'autre et de vérifier ensuite une version plus ancienne d'être votre maître:

 git branch-m maître indésirable
 git co -b master old_sha1_value

14voto

Ted Percival Points 3712

Commencez par master , créez une branche appelée in-progress , puis réinitialisez master à une validation antérieure.

 $ git branch in-progress
$ git reset --hard HEAD^
 

7voto

olliej Points 16255
Il est rela-

0voto

xiaobai Points 2004

Cela mettra votre maître à n'importe quel point en une seule étape:

 git checkout -B master new_point
 

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