Question Git fusionne après la récupération - comment, exactement?


J'ai lu de diverses sources que c'est généralement une meilleure idée d'aller chercher puis fusionner plutôt que simplement tirer car il permet un contrôle plus fin. Cela dit, je n'ai pas encore trouvé comment le faire. Par exemple:

Une petite modification a été apportée à une partie du code dans l'une des branches principales de mon référentiel GitHub. J'ai pu aller le chercher, mais je ne sais pas comment fusionner les différences avec mon branche principale locale. git branch liste toutes les branches locales que j'ai, mais rien n'indique quoi que ce soit à fusionner.

Alors, est-ce juste quelque chose comme git merge master ou git merge origin/master? Qu'est-ce que je rate?


36
2018-01-25 00:19


origine


Réponses:


git merge origin/master devrait marcher. Depuis master est généralement une branche de suivi, vous pouvez également faire git pull de cette branche et il va faire un fetch & fusionner pour vous.

Si vous avez des changements locaux sur votre master qui ne sont pas reflétés sur origin, vous pourriez vouloir git rebase origin/master pour vous assurer que vos commits sont «au top».


38
2018-01-25 00:24



Je le fais généralement:

git merge --ff-only @{u}

Ce qui dit, "ne faites qu'une fusion rapide depuis la branche de suivi en amont." C'est bien parce que si ça échoue, alors je sais que j'ai introduit quelque chose sur master ce n'est pas en amont. J'ai cet alias à ff, juste pour le rendre plus facile à taper.

S'il y a des changements et que vous voulez simplement les fusionner, vous pouvez faire:

git merge @{u}

Qui va fusionner dans la branche en amont. Cependant, si vous souhaitez un historique plus clair (et évitez les commits "fusion / origine / maître" / "maître"), vous pouvez envisager de procéder à une nouvelle conversion:

git rebase @{u}

Bien sûr, tu peux origin/master au lieu de @{u} dans l'un de ces exemples.


12
2018-01-25 02:04



La commande

git pull $some_url

est équivalent à

git fetch $some_url
git merge FETCH_HEAD

Voir aussi le git-pull (1) page de manuel pour plus de détails, notamment les deux premiers paragraphes de la description.


2
2017-09-16 21:00