February 17, 2023 6:46 PM, "Chris Torek" <chris.torek@xxxxxxxxx> wrote: > `git pull` = `git fetch` followed by a second command, either `git merge` or `git rebase`. If you > don't want the `git fetch` step, run the *second* command, instead of running *both* commands: it's > really just that simple. No it isn't. Sorry, but I think you have misunderstood the problem. I'm well aware of the behavior of git pull. In the scenario described, `git rebase` will always report "Already up to date" because the head of the current branch and the head of the remote tracking branch are the same. The prefetched reference lives under refs/prefetch/* and is unnoticed by git rebase. This is why I used `git update-ref ...` first: to update the remote tracking branch from the prefetched copy.