340 votes

git pull VS git fetch git rebase

Une autre question, dit - git pull , c'est comme un git fetch + git merge.

Mais quelle est la différence entre git pull VS git fetch + git rebase?

377voto

Jefromi Points 127932

Il devrait être assez évident de votre question que vous êtes en fait juste de demander à propos de la différence entre git merge et git rebase.

Donc, supposons que vous êtes dans le cas courant, - vous avez fait un peu de travail sur votre branche master, et tirez-vous de l'origine, qui a également fait un peu de travail. Après l'extraction, les choses ressembler à ceci:

- o - o - o - H - A - B - C (master)
               \
                P - Q - R (origin/master)

Si vous fusionnez à ce point (le comportement par défaut de la commande git pull), en supposant qu'il n'y a aucun conflit, vous retrouver avec ceci:

- o - o - o - H - A - B - C - X (master)
               \             /
                P - Q - R --- (origin/master)

Si en revanche vous n'avez appropriés rebase, tu finirais par ceci:

- o - o - o - H - P - Q - R - A' - B' - C' (master)
                          |
                          (origin/master)

Le contenu de votre travail de l'arbre devrait être la même dans les deux cas, vous avez juste créé une histoire différente qui y a conduit. Le rebase réécrit à votre histoire, un peu comme si vous aviez commis sur le dessus de l'origine de la nouvelle branche master (R), au lieu de l'endroit où vous avez initialement engagé (H). Vous ne devez jamais utiliser le rebase approche si quelqu'un a déjà tiré à partir de votre branche master.

Enfin, notez que vous pouvez réellement git pull pour une branche donnée à l'utilisation de rebase au lieu de fusionner par la définition de la config paramètre branch.<name>.rebase de vrai. Vous pouvez également le faire pour un seul tirez à l'aide de git pull --rebase.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X