Créer une twig Git avec les modifications en cours

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) 
  1. Vous avez fait quelques commits, mais réalisez qu’ils étaient prématurés pour être dans la twig ” master “. Vous voulez continuer à les polir dans une twig de sujet, créez donc la twig ” topic/wip ” du HEAD actuel.
  2. Rembobinez la twig principale pour vous débarrasser de ces trois commits.
  3. Passez à la topic/wiptopic/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:

  1. Créez une nouvelle twig:

     git branch newfeature 
  2. Commander une nouvelle twig: (cela ne réinitialisera pas votre travail.)

     git checkout newfeature 
  3. 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