为什么git-pull-rebase和git-rebase给了我不同的历史?

为什么git-pull-rebase和git-rebase给了我不同的历史?,git,version-control,git-rebase,git-pull,Git,Version Control,Git Rebase,Git Pull,我的git历史记录如下: - A - B - C <-- origin/master \ X - Y - Z <-- origin/my-branch, my-branch (local) 我从我的本地分支开始运行以下操作: $ git checkout master $ git pull $ git checkout my-branch $ git rebase master 在场景1之后,我的历史记录(带有git日志)显示: X-Y-Z-A-B-C

我的git历史记录如下:

- A - B - C   <-- origin/master
   \
    X - Y - Z    <-- origin/my-branch, my-branch (local)
  • 我从我的本地分支开始运行以下操作:

    $ git checkout master
    $ git pull
    $ git checkout my-branch
    $ git rebase master
    
  • 在场景1之后,我的历史记录(带有git日志)显示:


    X-Y-Z-A-B-C如果您运行1,它将给出相同的历史记录。主人,不是我的分支。我无法复制你的报告。当我执行git pull--rebase origin master--
    时,我得到了主提交,在最后一次提交之后重写了我的本地分支,这与您的第二个场景输出相同,也与文档中指出的相同。我怀疑您的观察结果中有错误,但如果您认为它们是准确的,请重新运行测试,并发布一个剪切粘贴日志,其中记录了确切的命令和输出。如果您运行了1,则会给出相同的历史记录。主人,不是我的分支。我无法复制你的报告。当我执行git pull--rebase origin master--时,我得到了主提交,在最后一次提交之后重写了我的本地分支,这与您的第二个场景输出相同,也与文档中指出的相同。我怀疑您的观察结果中有错误,但如果您认为它们是准确的,请重新运行测试,并发布一个剪切粘贴的日志,记录确切的命令和输出。
    $ git checkout master
    $ git pull
    $ git checkout my-branch
    $ git rebase master
    
    ... - X - Y - Z - A - B - C    <-- my-branch
    
    ... - A - B - C - X - Y - Z    <-- my-branch