Subject: Re: Why am I on Master instead of my branch

From: SZEDER Gábor <[email-masked]>
Date: Sun, 15 Mar 2020 11:52:53 +0100

On Sat, Mar 14, 2020 at 09:54:00PM -0400, Jeffrey Walton wrote:
> I'm trying to test some changes I made on a branch on some other
> machines. The changes were committed and pushed. However, after a
> checkout and pull on the other machines the changes were missing.
> 
> When I do a 'git branch' I am on master for some reason:
> 
> $ git branch
>   cmake-inno-setup-COVERAGE
>   config-guess
>   declarations
> * master
> 
> However, I have never switched back to master:

Perhaps you haven't switched away from 'master' in the first place.

> $ history | grep git | grep -E 'master|cmake'
> ...
> 2630  git checkout cmake-inno-setup-COVERAGE

This could have failed because the branch 'cmake-inno-setup-COVERAGE'
didn't exist.

>  2631  git fetch upstream cmake-inno-setup-COVERAGE

This fetched the branch 'cmake-inno-setup-COVERAGE' that exists on the
remote and stored the commit object id at its tip in FETCH_HEAD, but
it didn't create a local branch of the same name.

>  2632  git checkout cmake-inno-setup-COVERAGE
>  2634  git checkout cmake-inno-setup-COVERAGE

So these two failed as well, because there was no such branch.

>  2635  git branch cmake-inno-setup-COVERAGE

Here you do create a branch called 'cmake-inno-setup-COVERAGE'
(pointing to the currently checked out commit in your local
repository, which is most likely not where it points to in the remote
repo), but you haven't checked it out.

>  2757  git diff upstream/master
>  2766  history | grep git | grep -E 'master|cmake'
> <end of history>
> 
> How am I on master when I checked out cmake-inno-setup-COVERAGE?

Did you?
We can't tell without you telling us what the output of all those
commands were.