首页 > 解决方案 > Atlassian 的“git pull --rebase”教程图不正确吗?

问题描述

对于现在阅读本文的任何人 - Atlassian 已经修复了他们的图表。


原始问题:

我正在阅读 Atlassian 优秀的 Git 教程,但我对一张图感到困惑:

https://www.atlassian.com/git/tutorials/syncing/git-pull
这是从顶部开始的第三个流程图。

我认为它应该只是一行:D - A - B - C - E - F - G
指向 C 的“远程原点/主控”和指向 G 的“本地主控”。

我使用 SmartGit(pull rebase 选项)和 GitHub 的实验似乎证实了这个答案,但似乎我误解了 Atlassian 在他们的图表中犯了一个错误。

他们继续往下说:“许多开发人员更喜欢变基而不是合并,因为这就像说,'我想把我的改变放在其他人所做的之上。'”。这种说法似乎也与图表相矛盾。

如果图表是正确的,请解释如何将本地更改放在源更改之上,以便保留源的历史记录。

标签: git

解决方案


图表正确。

当您使用该--rebase选项进行拉取时,您的所有本地提交都将附加到远程分支,因此您是对的,这E-F-G应该是在远程更改之后A-B-C,导致D-A-B-C-E'-F'-G'('用于指定提交在技术上与原件,它们是这些提交的重写版本)


推荐阅读