This is not a 2.21 release issue, and pre-dates the built-in rebase. When you clone any repository, e.g. git.git, and add one commit on top of the cloned branch, then run "git rebase" you'll get e.g.: $ git rebase First, rewinding head to replay your work on top of it... Applying: foo Before 4f21454b55 ("merge-base: handle --fork-point without reflog", 2016-10-12) you'd get: $ git rebase Current branch master is up to date. The results are not the same for "git rebase @{u}" or "git rebase $(git rev-parse @{u})": $ git rev-parse HEAD; ~/g/git/git --exec-path=/home/avar/g/git rebase; git rev-parse HEAD; ~/g/git/git --exec-path=/home/avar/g/git rebase @{u}; git rev-parse HEAD; ~/g/git/git --exec-path=/home/avar/g/git rebase $(git rev-parse @{u}); git rev-parse HEAD d0a1e49341cac6db3226eb0f76ec4a5912f18af8 First, rewinding head to replay your work on top of it... Applying: foo 3a9261d6e34d9f6d00c8e8411d7ddd8cffa02d97 Current branch master is up to date. 3a9261d6e34d9f6d00c8e8411d7ddd8cffa02d97 Current branch master is up to date. 3a9261d6e34d9f6d00c8e8411d7ddd8cffa02d97 With 4f21454b55^ checked-out the SHA-1 always stays the same, i.e. no work is done for the same command: 69bd93d9aa438c6d903b8e62c3bf1c6c5ab8ec0b Current branch master is up to date. 69bd93d9aa438c6d903b8e62c3bf1c6c5ab8ec0b Current branch master is up to date. 69bd93d9aa438c6d903b8e62c3bf1c6c5ab8ec0b Current branch master is up to date. 69bd93d9aa438c6d903b8e62c3bf1c6c5ab8ec0b