fusionner une branche locale dans une autre branche locale

168

J'ai plusieurs branches qui sont dérivées du maître (chacune dans un sous-répertoire séparé).

  • Branch1: nouveau développement, pas encore complètement terminé
  • Branch2: correctif pour un problème, mais toujours en cours de test
  • Branch3: désordre autour de la branche, que je ne restaurerai pas

Avant que le test du correctif ne soit terminé, j'aimerais que le code soit déjà disponible dans Branch1, afin que je puisse continuer à développer avec le correctif en place.
(Mais comme mon expérience avec git n'est pas tant que ça, j'ai commencé à jouer avec la fusion dans une 3ème branche, spécialement créée pour déconner, avant de gâcher Branch1 ou Branch2)

Dans ma 3e succursale, j'ai d'abord essayé ce qui suit:

git merge feature/Branch1

mais cela a donné l'erreur suivante:

fatal: 'feature/Branch1' does not point to a commit

J'ai ensuite fait un commit -a dans mon Branch1 et j'ai réessayé, mais cela continue de donner la même erreur.

Qu'est-ce que je fais mal? Que dois-je faire pour fusionner le code de - dans ce cas - Branch1 avec Branch3?

Nemelis
la source

Réponses:

238

Tout d'abord, passez à la caisse sur votre Branch3:

git checkout Branch3

Puis fusionnez le Branch1:

git merge Branch1

Et si vous voulez les commits mis à jour de Branch1 sur Branch2, vous recherchez probablement git rebase

git checkout Branch2
git rebase Branch1

Cela mettra à jour votre Branch2 avec les dernières mises à jour de Branch1.

gabra
la source
1
(Je veux les mises à jour de Branch2 vers Branch1 ;-)) Branch2 voit Branch1, mais pas l'inverse quand je fais une git branch -a dans les deux branches. Par conséquent, je ne peux pas faire un rebase à Branch2 dans Branch1: git rebase Branch2 -> fatal: Nécessite une seule révision
Nemelis
Lorsque je fais le rebase en tant que git rebase origin / Branch2, il donne toujours ce message d'erreur + origine amont invalide / Branch2
Nemelis
1
@ Si8 cela ajoutera uniquement les validations de Branch1 à Branch3. Branch1 sera conservé tel quel.
gabra
1
Merci donc si je suis actuellement dans la branche Dev et que je fais une fusion de Dev1, cela fusionnera Dev1 avec Dev, est-ce que j'ai raison?
Si8 du
1
Oui. Je recommande de l'essayer. Si quelque chose se brise, vous pouvez revenir en arrière. C'est le but d'un VCS.
gabra