Rebase simple de master avec magit?

11

Je viens de passer à la dernière version de Magit après avoir utilisé l'ancienne version pendant des années. Toutes les améliorations sont excellentes après avoir un peu cherché et compris les différences.

Maintenant, j'essaie juste de faire le rebase le plus simple (non interactif) magitet je ne sais pas comment le faire. Cet exemple provient de https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Frappé r
  2. ?
  3. Ma branche de sujet est rebasée avec les dernières modifications de master.
Andrew Goodnough
la source
3
Choisissez "ailleurs", (appuyez sur "e"), puis choisissez "maître". Juste pour être sûr: vous rebaserez votre "sujet" de branche sur le maître (pas depuis ). On signifie que Git recherchera le plus jeune ancêtre commun de "master" et "topic", puis travaillera sur les validations dans "topic" pour leur appliquer les changements dans "master". En fin de compte, "master" restera inchangé, mais "topic" incorporera les modifications de "master" (j'écris ceci dans l'espoir d'éviter une erreur, c'est-à-dire si vous pensiez que le rebasage de master ferait le contraire).
wvxvw
2
Notez que si vous définissez un amont pour votre branche - vous pouvez taper bpuis à uplusieurs reprises pour parcourir les options connues ( origin/masterétant typique) - qui deviendra alors une option par défaut pour rebaser sur (via r u).
phils
3
Vous devriez lire magit.vc/manual/magit/Rebasing.html
phils
Merci pour les commentaires. Cela m'a éclairé. J'ai lu la page Rebasing de Magit, mais cela n'avait aucun sens auparavant. Je pense que le mot «sur» était le problème. J'utilise maintenant 'r', puis 'e' pour fusionner la dernière version de master mais savoir comment configurer mon amont avec 'b', 'u' était également utile.
Andrew Goodnough
@wvxvw pourriez-vous s'il vous plaît transformer ce commentaire en réponse?
tarsius

Réponses:

16
  1. Appuyez sur r (rebase) dans le tampon d'état Magit. Cela affichera un tampon contextuel avec plus d'options.
  2. Appuyez sur e (ailleurs) pour commencer le rebasage sur une branche différente.
  3. Sélectionnez la branche sur laquelle rebaser en répondant à l'invite (remarque: la branche sélectionnée n'est pas modifiée, la branche actuelle l'est) .
  4. Le processus de rebase commencera et vous aurez maintenant plus d'options dans le menu de rebase: rcontinuer (après la résolution des conflits) , aabandonner (tout le processus de rebase sera rebobiné avant rebase) et ssauter (parfois Git est confus, par exemple , lorsque votre validation semble n'apporter aucun changement, ce qui peut se produire lorsque votre branche actuelle et la branche cible ont toutes deux ajouté la même modification) .
  5. Vos validations seront appliquées aux validations dans la branche cible. S'ils ne s'appliquent pas correctement, la progression et les conflits s'afficheront dans le tampon d'état Magit.
wvxvw
la source