remove - push tag to branch git




Changer les noms de branche en git (4)

C'est relativement facile:

git checkout -b fake_master master # fake_master now points to the same commit as master
git branch -D master               # get rid of incorrect master
git checkout -b master real_master # master now points to your actual master
git checkout master                # optional -- switch on to your master branch

Il peut y avoir plusieurs façons de poser cette question, alors voici une description du problème. Je travaillais sur le master et j'ai commis quelques problèmes, puis j'ai décidé de mettre ce travail en attente. J'ai sauvegardé quelques commits et ensuite ramifié avant que je commence mes travaux de merde. Pratiquement, cela fonctionne très bien, j'ai maintenant une branche différente comme ma branche de développement principale. Je me demande comment je pourrais changer les choses, alors je travaille à nouveau sur le master, mais il n'y a pas de travail indésirable et je dis que le travail se fait sur une branche différente.

Quelques façons cela pourrait être demandé / résolu: Comment renommer ma branche maître à autre chose et ensuite renommer autre chose à maîtriser? Comment puis-je sauvegarder ma base et faire en sorte que toutes les validations que j'ai sauvegardées soient dans une branche différente?

Merci pour toutes les réponses (rapides)! Ils sont tous bons.


Cela définira votre maître à tout moment en une seule étape:

git checkout -B master new_point

En plus des autres commentaires, vous pouvez trouver le commutateur -m (move) sur git-branch utile. Vous pouvez renommer votre ancien maître en autre chose, puis renommer votre nouvelle branche en master:

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

Je pense que vous devriez envisager une stratégie de développement différente pour éviter de tels problèmes. Celui qui semble fonctionner le mieux pour moi est de ne jamais faire de développement directement sur ma branche maîtresse. Indépendamment des changements que je fais, je crée toujours une nouvelle branche pour le nouveau code:

git checkout -b topic/topic_name master

De là, je peux pousser les changements aux dépôts publics:

git push pu topic/topic_name

ou éventuellement fusionner avec ma branche maîtresse:

git checkout master && git merge topic/topic_name

Si vous avez vraiment besoin de revenir à un point plus ancien dans le temps et de définir cela comme votre maître, vous pouvez renommer la branche actuelle en quelque chose d'autre, puis extraire une version plus ancienne pour être votre maître:

 git branch -m master junk
 git co -b master old_sha1_value






branch