Créer une twig dans Git depuis une autre twig

J’ai deux twigs: master et dev

Je veux créer une “twig” de la twig dev .

Actuellement sur la twig dev, je fais:

$ git checkout -b myfeature dev 

… (certains travaux)

 $ git commit -am "blablabla" $ git push origin myfeature 

Mais après avoir visualisé mes twigs, j’ai eu:

 --**master** ------0-----0-----0-----0-----0 ------------------------**dev**----**myfeature** 

Je veux dire que la twig semble fusionnée, et je ne comprends pas pourquoi …

Qu’est-ce que je fais mal?

Pouvez-vous m’expliquer s’il vous plaît comment vous twigz à partir d’une autre twig et repousser vers le référentiel distant pour la twig de fonctionnalité?

Tout cela dans un modèle de twigment comme celui décrit ici .

Si vous aimez la méthode dans le lien que vous avez posté, consultez Git Flow .

C’est un ensemble de scripts qu’il a créé pour ce stream de travail.

Mais pour répondre à votre question:

 $ git checkout -b myFeature dev 

Crée la twig MyFeature hors dev. Faites votre travail et ensuite

 $ git commit -am "Your message" 

Maintenant, fusionnez vos modifications avec dev sans une accélération rapide

 $ git checkout dev $ git merge --no-ff myFeature 

modifier

Maintenant, poussez les modifications sur le serveur

 $ git push origin dev $ git push origin myFeature 

Et vous le verrez comme vous le voulez.

Si vous voulez créer une nouvelle twig depuis l’une des twigs existantes de Git, suivez simplement les options.

Premier changement / extraction dans la twig à partir de laquelle vous voulez créer une nouvelle twig. Par exemple, si vous avez les twigs suivantes comme:

  • maîsortingser
  • dev
  • twig1

Donc, si vous voulez créer une nouvelle twig appelée “subbranch_of_b1” sous la twig nommée “branch1”, suivez les étapes suivantes:

  1. Commander ou changer en “twig1”

     git checkout branch1 
  2. Maintenant, créez votre nouvelle twig appelée “subbranch_of_b1” sous “branch1” en utilisant la commande suivante.

     git checkout -b subbranch_of_b1 branch1 

    Ce qui précède va créer une nouvelle twig appelée subbranch_of_b1 sous la twig branch1 (notez que branch1 dans la commande ci-dessus n’est pas obligatoire puisque HEAD pointe actuellement dessus, vous pouvez le préciser si vous êtes sur une twig différente).

  3. Maintenant, après avoir travaillé avec le subbranch_of_b1, vous pouvez le valider et le pousser ou le fusionner localement ou à distance.

Un exemple d'illustration graphique de la création de succursales sous une autre succursale

Créer une succursale

  • Créer une twig lorsque la twig principale est extraite. Ici, les validations dans master seront synchronisées avec la twig que vous avez créée.

    $ git branch branch1

  • Créer une twig lorsque la twig 1 est extraite. Ici, les commits dans branch1 seront synchronisés sur branch2

    $ git branch branch2


Commander une succursale

git checkout commande changer de twig ou restaurer des fichiers d’arborescence de travail

  • $ git checkout branchname

Renommer une succursale

  • $ git branch -m branch1 newbranchname

Supprimer une twig

  • $ git branch -d branch-to-delete
  • $ git branch -D branch-to-delete ( forcer la suppression sans vérifier l’état fusionné )

Créer et changer de twig

  • $ git checkout -b branchname

Des twigs complètement incluses

  • $ git branch --merged


************************** Différences de twig [git diff branch1..branch2] ************** **********

Différence multiligne

  • $ git diff master..branch1

Différence Singleline

  • $ git diff --color-words branch1..branch2

Travaillez simultanément sur la twig dev . Qu’est-ce qui se passe est que dans votre scénario, la twig de la fonctionnalité avance de la pointe de la twig dev, mais la twig de développement ne change pas. Il est plus facile de dessiner en ligne droite, car cela peut être considéré comme un mouvement en avant. Vous êtes arrivé au point A sur le dev, et à partir de là, vous avez simplement continué sur un chemin parallèle. Les deux twigs n’ont pas vraiment divergé.

Maintenant, si vous faites un commit sur dev, avant de fusionner, vous recommencerez au même commit, A, mais maintenant les fonctionnalités iront à C et dev à B. Cela montrera le fractionnement que vous essayez de visualiser, comme les twigs ont maintenant divergé.

 *-----*Dev-------*Feature 

Contre

  /----*DevB *-----*DevA \----*FeatureC