2017-08-18 4 views
1

je reçois le dernier commit qui existe dans la branche principale comme ceci:A quoi ressemblerait le répertoire de travail dans le diagramme en arbre?

$ git pull origin master 

Ensuite, je fais quelques changements en elle. A noté que, dans le même temps (à chaque fois que je travaillais sur le projet), mon collègue a poussé de nouveaux commits à la branche maître.

Je dois donc d'abord rebaser mes modifications, puis les pousser vers la branche principale. Voici mes ordres:

git pull origin master --rebase 
git push origin master 

Maintenant, je veux savoir:

  1. Comment se présente tout le processus comme dans le diagramme de l'arbre git?

  2. Aussi, puis-je écrire git pull origin master --rebase dans l'autre sens? Je veux dire est --rebase un raccourcir pour $ git checkout workingDirecotry et $ git rebase master?

+1

Votre deuxième tirage n'est pas nécessaire. Le premier pull avec rebase réapplique simplement vos commits sur le dessus de l'origine/master de la télécommande – Axnyff

Répondre

1

Après votre premier coup, l'histoire est comme: enter image description here

Après avoir effectué quelques changements, la branche locale se déplace sur: enter image description here

Pendant ce temps, la prise en pension à distance a été mis à jour par votre collègue: enter image description here

Ensuite, vous exécutez git pull origin master --rebase, ce qui équivaut à git fetch origin master && git rebase origin/master.

En raison de git fetch origin master: enter image description here

Et puis git rebase origin/master. D et E sont transplantés à partir de l'ancienne base C sur la nouvelle base N. master passe également de l'ancienne tête E à la nouvelle tête E'. enter image description here

+0

Je suppose que le mot dans [this] (https://i.stack.imgur.com/HC7QR.png) devrait être 'origin/master', pas 'master' – stack

+0

@stack C'est dans le repo distant, donc ça devrait être' master'. 'origin/master' est une branche de suivi dans le repo local. – ElpieKay

+0

est-ce que [this be changed] (https://i.stack.imgur.com/jCBYx.png) alors? – stack