Question Changements de maître en branche dans Git


Dans mon référentiel, j'ai une branche appelée aq sur lequel je travaille.

J'ai ensuite commis de nouveaux travaux et des bugs dans master.

Quel est le meilleur moyen d'obtenir ces commits dans le aq branche? Créer une autre branche sur master et le fusionner avec aq?


473
2018-03-17 14:51


origine


Réponses:


Vérifiez aq branche, et rebase de master.

git checkout aq
git rebase master

550
2018-03-17 14:54



Vous devriez pouvoir juste git merge origin/master quand vous êtes sur votre branche aq.

git checkout aq
git merge origin/master

207
2018-03-17 14:54



Première vérification pour maîtriser:

git checkout master

Faites tous les changements, correctifs et commits et poussez votre maître.

Retournez à votre branche, 'aq', et fusionnez-y le maître:

git checkout aq
git merge master

Votre succursale sera à jour avec le maître. Un bon exemple de fusion est 3.2 Branchement Git - Branchement de base et fusion.


71
2017-08-21 16:33



Il n'y a aucune garantie que les correctifs de bogues principaux ne figurent pas parmi les autres validations, donc vous ne pouvez pas simplement fusionner. Faire

git checkout aq
git cherry-pick commit1
git cherry-pick commit2
git cherry-pick commit3
...

en supposant que ces commits représentent les corrections de bogues.

A partir de maintenant, gardez les corrections de bugs dans une branche séparée. Vous pourrez juste

git merge hotfixes

quand vous voulez les rouler tous dans la branche de développement habituelle.


20
2018-03-17 22:07



Non plus cherry-pick les commits concernés dans la branche aq ou fusionner une branche master en branche aq.


14
2018-03-17 14:54



Pour moi, j'avais des changements déjà en place et je voulais le dernier de la branche de base. J'étais incapable de faire rebase, et cherry-pick aurait pris une éternité, alors j'ai fait ce qui suit:

git fetch origin <base branch name>  
git merge FETCH_HEAD

donc dans ce cas:

git fetch origin master  
git merge FETCH_HEAD

3
2017-07-06 12:12



Quel que soit le rebase ou la fusion, mais si vous avez plusieurs commits dans votre branche aq, le rebase ou la fusion contiendra d'autres changements de personnes lorsque vous envoyez une requête pull, ou si vous écrasez les commit dans un commit, alors je pense que j'ai un moyen (pas le meilleur moyen, mais très sûr et clair)

# 1. Create a new remote branch A base on last master
# 2. Checkout A
# 3. Merge aq to A

3
2018-05-19 10:06



Fusionner avec aq

git checkout master
git pull
git checkout aq
git merge --no-ff master
git push

2
2018-04-10 02:24



Vous avez plusieurs options. git rebase master aqsur la branche qui conservera les noms de commit, mais NE REBASE PAS s'il s'agit d'une branche distante. Vous pouvez git merge master aq si vous ne vous souciez pas de garder les noms de commit. Si vous voulez conserver les noms de commit et qu'il s'agit d'une branche distante git cherry-pick <commit hash> les commits sur votre branche.


1
2018-01-27 23:12