What could be a reason why branch@{u} doesn't work even though the branch does have a remote tracking branch configured? We have a user who reports the following: $ git push --set-upstream origin test-456 branch 'test-456' set up to track 'origin/test-456'. Everything up-to-date $ git merge-base test-456 test-456@{u} fatal: upstream branch 'refs/heads/test-456' not stored as a remote-tracking branch Git remote shows that the remote tracking branch is configured as expected: $ git remote -v show origin * remote origin [...] Local branches configured for 'git pull': test-456 merges with remote test-456 Local refs configured for 'git push': test-456 pushes to test-456 (up to date) Any ideas?