J'ai 2 branches locales appelées "develop" et "master"; ils sont similaires. Sur le serveur de mon entreprise, il y a un dépôt (production) "principal" et plusieurs branches qui ont été faites par d'autres développeurs:
$ git branch -a * développer maître télécommandes/Origine/TETE -> Origine/maître télécommandes/Origine/certains-test télécommandes/Origine/fonction1 télécommandes/Origine/fonction2 télécommandes/Origine/maître
Comment puis-je fusionner remotes/Origin/feature1
et remotes/Origin/feature2
dans ma branche "master" locale, copier tout cela dans "develop" et commencer à travailler avec le code réel dans ma branche "develop"?
git checkout master
git pull Origin feature1 feature2
git checkout develop
git pull . master
(ou peut-être git rebase ./master
)La première commande change votre branche actuelle en master
.
La deuxième commande extrait les modifications de la télécommande feature1
et feature2
branches. Il s'agit d'une fusion "octopus" car elle fusionne plus de 2 branches. Vous pouvez également effectuer deux fusions normales si vous préférez.
La troisième commande vous ramène à votre branche develop
.
La quatrième commande extrait les modifications de master
local à develop
.
J'espère que cela pourra aider.
EDIT: notez que git pull
fera automatiquement un fetch
donc vous n'avez pas besoin de le faire manuellement. C'est à peu près équivalent à git fetch
suivi par git merge
.
Je voudrais juste "récupérer" tout d'Origin:
git fetch Origin
maintenant que c'est dans votre repo vous pouvez fusionner les branches en master:
git checkout master
git merge Origin/feature1
git merge Origin/feature2
maintenant, vous pouvez fusionner le maître en développant
git checkout develop
git merge master
si vous allez vous engager à nouveau dans Origin, je configurerais une branche de suivi locale afin que vous puissiez avoir un accès local et pousser directement vers Origin:
git branch --track Origin/feature1 feature1