J'ai une branche git appelée 9-sign-in-out
avec du code fonctionnant parfaitement, et je veux la transformer en maître. Je suis actuellement sur la branche master.
$ git branch
9-sign-in-out
* master
J'essaie de passer à la 9-sign-in-out
branche, mais cela ne me permet pas de:
$ git checkout 9-sign-in-out
app/helpers/application_helper.rb: needs merge
config/routes.rb: needs merge
error: you need to resolve your current index first
Une idée comment puis-je ignorer toutes les erreurs de branche principale et transformer la 9-sign-in-out
branche en maître? Peut-être git rebase ? Mais je ne veux pas perdre le code en 9-sign-in-out
branche.
git
branch
git-merge
git-branch
Sayanee
la source
la source
Réponses:
Cela vaut la peine de comprendre ce que ces messages d'erreur signifient -
needs merge
et d'error: you need to resolve your current index first
indiquer qu'une fusion a échoué et qu'il y a des conflits dans ces fichiers. Si vous avez décidé que la fusion que vous tentiez de faire était une mauvaise idée après tout, vous pouvez remettre les choses à la normale avec:Cependant, sinon, vous devez résoudre ces conflits de fusion, comme décrit dans le manuel git .
Une fois que vous avez résolu cela par l'une ou l'autre technique, vous devriez pouvoir vérifier la
9-sign-in-out
succursale. Le problème avec juste de renommer votre9-sign-in-out
àmaster
, comme suggéré dans la réponse de WRAR est que si vous avez partagé votre branche principale précédente avec quelqu'un, cela va créer des problèmes pour eux, car si l'histoire des deux branches divergeaient, vous publierez réécrit l'histoire.Essentiellement, ce que vous voulez faire, c'est fusionner votre branche de rubrique
9-sign-in-out
dans,master
mais conserver exactement les versions des fichiers dans la branche de rubrique. Vous pouvez le faire avec les étapes suivantes:la source
webrat.log
.)la source
comme suggéré dans
git status
,J'avais l'habitude
git add
de terminer la fusion, puisgit checkout
fonctionne très bien.la source
mon problème était (master | REBASE 1/1)
cette commande a fonctionné pour moi
la source
git commit -m "Conflit fixe maître fusionné."
la source