web-dev-qa-db-fra.com

Obtenez les changements de maître en branche dans Git

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

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

Quel est le meilleur moyen d’inscrire ces commits dans la branche aq? Créez une autre nouvelle branche à partir de master et fusionnez-la avec aq?

599
Slee

Vérifiez la branche aq et rebase de master.

git checkout aq
git rebase master
691
Douglas F Shearer

Vous devriez être capable de simplement git merge Origin/master lorsque vous êtes sur votre branche aq.

git checkout aq
git merge Origin/master
263
Chris Kooken

Première sortie à maîtriser:

git checkout master

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

Retournez dans votre branche 'aq' et fusionnez le maître dans celle-ci:

git checkout aq
git merge master

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

82
Hrishikesh Mishra

Rien ne garantit que les correctifs de bogues principaux ne font pas partie des autres commits. Par conséquent, 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 bugs.

À partir de maintenant, conservez les corrections de bogues dans une branche distincte. Vous pourrez juste

git merge hotfixes

quand vous voulez tous les rouler dans la branche dev régulière.

23
Adam Dymitruk

Soit cherry-pick le correspondant concerné est validé dans la branche aq ou fusionnez la branche master dans la branche aq.

16
Alan Haggai Alavi

le fusionner avec aq

git checkout master
git pull
git checkout aq
git merge --no-ff master
git Push
9
alditis

Moyen facile

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

Pour moi, des modifications étaient déjà en place et je voulais les dernières nouvelles 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

alors dans ce cas:

git fetch Origin master  
git merge FETCH_HEAD
6
Pete B.

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

2
Dan McNamara