简体   繁体   English

从远程分支中拉出rebase与git fetch + rebase不同

[英]Pull rebase from remote branch is different of git fetch + rebase

I have a problem. 我有个问题。 When I do this command 当我执行此命令时

git pull --rebase origin dev

my local branch derives from my remote branch. 我的本地分支来自我的远程分支。 When I do git log HEAD..origin/dev , Git displays some commits. 当我执行git log HEAD..origin/dev ,Git显示一些提交。

But (after a git reset --hard origin/dev ) when i do 但是(在git reset --hard origin/dev )当我这样做时

git fetch origin dev
git rebase origin/dev

There si no derivation. 没有衍生。 No return for git log HEAD..origin/dev git log HEAD..origin/dev不返回

Why and how can I do a git pull --rebase origin dev without derivation. 为什么以及如何进行git pull --rebase origin dev而没有派生。

When you did your git reset --hard origin/dev , you changed your current branch (which I am assuming is dev ) to point to origin/dev . 当您执行git reset --hard origin/dev ,您将当前分支(我假设是dev )更改为指向origin/dev git fetch origin dev was probably a no-op, as you were already up to date due to your git pull earlier. git fetch origin dev可能是空手而归,因为您早先进行了git pull ,因此您已经处于最新状态。 So when you did git rebase origin/dev , nothing happened, as dev already pointed to origin/dev . 因此,当您使用git rebase origin/dev ,什么也没有发生,因为dev已经指出了origin/dev

Had you done the fetch and rebase first instead of doing a pull, you would have seen the same list of commits as when you did the pull. 如果您先进行了提取和重新设置基础而不是进行拉取,那么您将看到与进行拉取时相同的提交列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM