Changer de nom de twig 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 master et j’ai commis des trucs, puis j’ai décidé de mettre ce travail en attente. J’ai sauvegardé quelques commits avant de commencer mon travail de merde. En pratique, cela fonctionne très bien, je viens juste d’avoir une twig différente en tant que twig de développement principale. Je me demande comment je pourrais changer les choses, alors je travaille à nouveau sur master mais il n’y a pas de travail indésirable et le travail est sur une twig différente.

Voici quelques manières de résoudre ce problème: Comment renommer ma twig principale en une autre, puis renommer quelque chose d’autre à maîsortingser? Comment puis-je sauvegarder master et provoquer tous les commits que j’ai sauvegardés sur une twig différente?

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

Je pense que vous devriez envisager une stratégie de développement différente pour éviter de tels problèmes. Une solution qui me semble la plus efficace est de ne jamais effectuer de développement directement sur ma twig principale. Indépendamment des changements que je fais, je crée toujours une nouvelle twig pour le nouveau code:

 git checkout -b topic / topic_name master

De là, je peux repousser les modifications apscopes aux référentiels publics:

 git push pu topic / topic_name

ou éventuellement le fusionner avec ma twig principale:

 git checkout master && git merge topic / topic_name

Si vous avez vraiment besoin de revenir à une date antérieure et de définir celle-ci comme votre maître, vous pouvez renommer la twig actuelle en une autre, puis extraire une ancienne version pour qu’elle devienne votre maître:

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

Commencez sur master , créez une twig appelée in-progress , puis réinitialisez le master sur une validation antérieure.

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

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 

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

 git checkout -B master new_point