[英]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.