Je viens tout juste de commencer à utiliser GIT et je trouve ça merveilleux, mais je suis un peu confus quant à ce que fait la commande merge
.
Disons que nous avons un projet en cours dans la branche "A".
Je rentre chez moi et apporte des modifications à cette branche et l'enregistre en tant que "B" . Un autre programmeur modifie "A" et l'enregistre en tant que "C".
Existe-t-il un moyen de fusionner les deux branches "B" et "C" ensemble, puis de valider les modifications sous la forme d'une nouvelle branche, par exemple "D"?
Ou suis-je en train de manquer le point de "fusion"?
merge
est utilisé pour rapprocher deux (ou plus) branches.
un petit exemple:
# on branch A:
# create new branch B
$ git checkout -b B
# hack hack
$ git commit -am "commit on branch B"
# create new branch C from A
$ git checkout -b C A
# hack hack
$ git commit -am "commit on branch C"
# go back to branch A
$ git checkout A
# hack hack
$ git commit -am "commit on branch A"
alors maintenant, il y a trois branches distinctes (à savoir A B et C) avec des têtes différentes
pour obtenir les modifications de B et C en A, extrayez A (déjà effectué dans cet exemple), puis utilisez la commande de fusion:
# create an octopus merge
$ git merge B C
votre histoire ressemblera alors à ceci:
…-o-o-x-------A
|\ /|
| B---/ |
\ /
C---/
si vous souhaitez fusionner au-delà des limites du référentiel/de l'ordinateur, consultez la commande git pull
, par exemple. depuis le pc avec la branche A (cet exemple créera deux nouveaux commits):
# pull branch B
$ git pull ssh://Host/… B
# pull branch C
$ git pull ssh://Host/… C
si vous avez remorqué des branchesXetY.
vous devez fusionner les modifications de brancheYen brancheX
vous devriez être sur la branche X
# git checkout X
puis exécutez la commande de fusion
#git merge Y