J’ai commencé à travailler sur ma twig principale en pensant que ma tâche serait facile. Au bout d’un moment, j’ai réalisé qu’il faudrait plus de travail et je veux faire tout ce travail dans une nouvelle twig. Comment puis-je créer une nouvelle twig et prendre toutes ces modifications avec moi sans salir le maître?
Si vous n’aviez pas encore fait de commit, seulement (1: twig) et (3: checkout) suffiraient.
Ou, en une seule commande: git checkout -b newBranch
Comme mentionné dans la page de manuel de git reset
:
$ git branch topic/wip # (1) $ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below) $ git checkout topic/wip # (3)
master
“. Vous voulez continuer à les polir dans une twig de sujet, créez donc la twig ” topic/wip
” du HEAD
actuel. topic/wip
” topic/wip
” et continuez à travailler. Remarque: en raison de l’effet “destructif” d’une commande git reset --hard
(il réinitialise l’index et l’arborescence de travail. Toute modification apscope aux fichiers suivis dans l’arborescence de travail depuis que
est ignorée), je préférerais
$ git reset --soft HEAD~3 # (2)
Cela garantirait que je ne perds aucun fichier privé (non ajouté à l’index).
L’option --soft
ne touche ni le fichier d’index ni l’arborescence de travail (mais réinitialise la tête à
, comme tous les modes).
Comme indiqué dans cette question: Git: Créez une twig à partir de modifications non marquées / non validées sur le maître : la réserve n’est pas nécessaire.
Utilisez simplement:
git checkout -b topic/newbranch
Tout travail non engagé sera porté à la nouvelle succursale.
Si vous essayez de pousser, vous recevrez le message suivant
fatal: La fonctionnalité actuelle de la twig / NEWBRANCH n’a pas de twig en amont. Pour pousser la twig actuelle et définir la télécommande en amont, utilisez
git push --set-upstream origin feature/feature/NEWBRANCH
Faites comme suggéré pour créer la twig à distance:
git push --set-upstream origin feature/feature/NEWBRANCH
Suivez ces étapes:
Créez une nouvelle twig:
git branch newfeature
Commander une nouvelle twig: (cela ne réinitialisera pas votre travail.)
git checkout newfeature
Commencez maintenant votre travail sur cette nouvelle twig:
git commit -s
En utilisant les étapes ci-dessus, votre twig d’origine restra propre et vous n’avez pas à faire de «git reset –hard».
Comme vous n’avez pas encore effectué de commits, vous pouvez enregistrer toutes vos modifications dans la réserve, créer et changer de twig, puis réinsérer ces modifications dans votre arborescence de travail:
git stash # save local modifications to new stash git checkout -b topic/newbranch git stash pop # apply stash and remove it from the stash list
Pour append de nouvelles modifications à une nouvelle twig et pousser à distance:
git branch branch/name git checkout branch/name git push origin branch/name
Souvent, j’oublie d’append la partie origine pour pousser et être confus, pourquoi je ne vois pas la nouvelle twig / commit dans bitbucket