1345 votes

Git fusionne la branche hotfix dans la branche feature

Disons que nous avons la situation suivante dans Git :

  1. Un référentiel créé :

    mkdir GitTest2
    cd GitTest2
    git init
  2. Certaines modifications du maître ont lieu et sont enregistrées :

    echo "On Master" > file
    git commit -a -m "Initial commit"
  3. Feature1 s'est branché sur master et du travail a été fait :

    git branch feature1
    git checkout feature1
    echo "Feature1" > featureFile
    git commit -a -m "Commit for feature1"
  4. Pendant ce temps, un bogue est découvert dans le code maître et une branche de correction est établie :

    git checkout master
    git branch hotfix1
    git checkout hotfix1
  5. Le bogue est corrigé dans la branche hotfix et réintégré dans le master (peut-être après une pull request/une révision du code) :

    echo "Bugfix" > bugfixFile
    git commit -a -m "Bugfix Commit"
    git checkout master
    git merge --no-ff hotfix1
  6. Le développement de la fonctionnalité 1 se poursuit :

    git checkout feature1

Disons que j'ai besoin du correctif dans ma branche de fonctionnalité, peut-être parce que le bogue s'y produit également. Comment puis-je y parvenir sans dupliquer les commits dans ma branche de fonctionnalités ?

Je veux éviter de recevoir deux nouveaux commits sur ma branche de fonctionnalité qui n'ont aucun rapport avec l'implémentation de la fonctionnalité. Cela me semble particulièrement important si j'utilise des demandes de téléchargement : Tous ces commits seront également inclus dans la demande de pull et devront être revus bien que cela ait déjà été fait (puisque le correctif est déjà dans le master).

Je ne peux pas faire un git merge master --ff-only : "fatal : Impossible d'effectuer une avance rapide, abandon", mais je ne suis pas sûr que cela m'ait aidé.

13 votes

Si la branche feature1 est complètement local, jetez un coup d'œil à git rebase .

31 votes

Merci, en tant que débutant de git, git rebase ça ressemble à de la magie noire pour moi....

13 votes

Si la branche est fonctionnalité -Seulement, la correction du bug ne devrait pas avoir lieu ici (du moins si ce n'est pas un bug bloquant) puisque le but de cette branche est de montrer une nouvelle fonctionnalité. Le bug sera corrigé lors de la fusion avec le master où le commit avec la correction est présent.

0voto

Hamid Narimani Points 11

Pour commencer à versionner des fichiers volumineux, il vous suffit de suivre ces quelques étapes simples : Téléchargez et installez les extensions de ligne de commande Git LFS pour votre OS. Configurez Git LFS pour votre compte utilisateur : git lfs install 3. Configurez Git LFS pour suivre vos gros fichiers : git lfs track "*.xyz"

-3voto

Vijay Gupta Points 1669
In Eclipse -

1)Vérifier la branche master

Git Repositories ->Click on your repository -> click on Local ->double click master branch
->Click on yes for check out

2)Tirer la branche master

Right click on project ->click on Team -> Click on Pull

3) Vérifiez votre branche d'activité (suivez les mêmes étapes que celles mentionnées au point 1).

4) Fusionner le master avec la fonctionnalité

Git Repositories ->Click on your repository -> click on Local ->Right Click on your selected feature branch ->Click on merge ->Click on Local ->Click on Master ->Click on Merge.

5)Maintenant vous obtiendrez tous les changements de la branche Master dans la branche feature. Supprimez les conflits s'il y en a.

For conflict if any exists ,follow this -
Changes mentioned as Head(<<<<<< HEAD) is your change, Changes mentioned in branch(>>>>>>> branch) is other person change, you can update file accordingly.

Note - Vous devez faire l'ajout à l'index pour les fichiers de conflits.

6)commiter et pousser vos changements dans la branche feature.

Right click on project ->click on Team -> Click on commit -> Commit and Push.

OU

Git Repositories ->Click on your repository -> click on Local ->Right Click on your selected feature branch ->Click on Push Branch ->Preview ->Push

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X