2010-06-21 6 views
15

J'ai commencé une tâche simple dans la branche principale. Vous connaissez le type de tâche où "c'est trop simple même pour se soucier d'une branche git" ... le résultat inévitable était que maintenant j'ai beaucoup de travail inachevé dans la branche master et j'ai besoin de travailler sur d'autres choses. Comment déplacer mon travail actuel vers une nouvelle succursale?Comment déplacer mon travail actuel vers une branche de sujet?

Répondre

21

Vous pouvez changer de branche avec un arbre sale, tant que le commutateur n'implique pas de modifier des fichiers corrompus. Puisque vous créez une nouvelle branche, il est garanti de ne pas:

git checkout -b new-branch 

Une fois que vous avez fait que vous pouvez vous engager et revenir au maître. Vous pouvez également engager d'abord, bien qu'il soit un peu plus de travail, car vous avez besoin de rollback maître avant la validation:

git commit 
git branch new-branch 
git reset --hard HEAD^ 
+0

+1 Je me suis demandé si vous pouviez faire cette! –

+0

J'ai toujours supposé que vous ne pouviez pas faire :) heureux de se tromper :) –

11

Vous pouvez git stash il!

git stash 

changement nouvelle branche:

git checkout -b new-branch 

Pop quand vous avez terminé:

git stash pop 

À moins que vous les déjà commited. As tu?

+0

ne les avait pas commis –

+0

il est alors facile. Utilisez simplement git stash et vous obtiendrez un répertoire de travail propre. Faites vos changements, commettez etc., quand vous avez fini, git stash pop. S'il n'y a pas de conflits, c'est tout. Sinon, vous pouvez suivre la documentation dans le lien "git stash". Cependant, je n'ai pas compris la partie branchée de votre montage. –

+0

le but était de faire en sorte que les parties sales de la branche principale deviennent les parties sales de la nouvelle branche et laissent le maître propre. –

Questions connexes