Git créer une twig à partir du maître extrait actuellement?

Il y a un dossier contrôlé par git sur un serveur où la twig principale est extraite et une stack entière de fichiers a été modifiée et non validée. Existe-t-il un moyen de valider les modifications sur une twig distincte afin que je puisse revenir à une version propre?

c.-à-d. que je veux effacer tous les changements de ces personnes mais les stocker dans une autre chance, donc si cette personne veut leurs changements, ils peuvent passer à cette twig.

(Oui, je sais que ce n’est pas comme ça que git est conçu pour fonctionner, mais c’est ma situation!) Toutes les idées sont très appréciées.

Tout d’abord, passer à une twig différente basée sur le HEAD actuel est effectué comme ceci:

git checkout -b newbranch 

Validez toutes les modifications (en supposant qu’aucun nouveau fichier ne soit ajouté, sinon git add les):

 git commit -a 

Retourner à la twig master:

 git checkout master 

Les modifications non validées précédemment seront toutes sur la nouvelle twig de la succursale et le maître sera toujours dans l’état où il se trouvait sans ces modifications.

Cette méthode est utile:

 git checkout -B   

Où:

  • est votre nouvelle twig (par exemple my_branch )
  • est votre twig de départ ( master dans votre cas)
  • -B crée une nouvelle twig à partir de , si elle existe déjà, puis la réinitialise à (elle n’échouera pas si -b lorsque la twig existe déjà)
  • Parfois, -m peut être utile pour spécifier lors du changement de twig, cela effectuera une fusion à trois voies entre la twig actuelle, le contenu de votre arbre de travail (utile pour les scripts).

Voyez: man git-checkout pour plus de détails.

Vous pouvez toujours cacher vos modifications.

 git stash git checkout -b bravenewmaster git stash apply 

Gardez également à l’esprit que si vous vous engagez sur la “mauvaise” twig, vous pouvez toujours déplacer cette twig, car la twig n’est rien d’autre qu’un pointeur sur une validation.