Il peut y avoir plus d'une façon de poser cette question, voici donc une description du problème. Je travaillais sur master et j'ai commis des trucs, puis j'ai décidé que je voulais mettre ce travail en attente. J'ai sauvegardé quelques commits, puis je me suis ramifié avant de commencer mon travail de merde. Pratiquement cela fonctionne très bien, j'ai juste maintenant une branche différente comme branche de développement principale. Je me demande comment je pourrais changer les choses donc je travaille à nouveau sur master mais il n'a pas mon travail indésirable et j'ai dit que le travail était sur une branche différente.
Cela pourrait être demandé / résolu de différentes manières: Comment renommer ma branche master en autre chose, puis renommer quelque chose d'autre en master? Comment sauvegarder master et faire en sorte que tous les commits que j'ai sauvegardés soient sur une branche différente?
Merci pour toutes les réponses (rapides)! Ils sont tous bons.
[branch "crap_work"]
pour lire[branch "master"]
pour que le maître puisse toujours se synchroniser avecorigin/master
. Bien entendu, l'état des deux pensions était tel que cela avait encore du sens.git push -uf origin master
etgit push -u origin crap_work
.Je pense que vous devriez envisager une stratégie de développement différente pour éviter des problèmes comme celui-ci. Celui qui semble fonctionner le mieux pour moi est de ne jamais faire de développement directement sur ma branche principale. Quels que soient les changements que je fais, je crée toujours une nouvelle branche pour le nouveau code:
À partir de là, je peux appliquer les modifications aux référentiels publics:
ou finalement simplement le fusionner avec ma branche principale:
Si vous avez vraiment besoin de revenir à un point plus ancien et de le définir comme votre maître, vous pouvez renommer la branche actuelle en autre chose, puis vérifier une version plus ancienne pour être votre maître:
la source
Commencez
master
, créez une branche appeléein-progress
, puis réinitialisezmaster
à un commit antérieur.la source
C'est relativement simple:
la source
git checkout -b
crée une branche et la rend active.Cela définira votre maître à n'importe quel point en une seule étape:
la source