# Strange happening with 'git fetch'

2 messages from 2010-01-07 to 2010-01-07. Participants: David Kirk, Ilari Liusvaara.
Thread: https://gitlist.dev/t/22120

## David Kirk, 2010-01-07 17:59

Subject: Strange happening with 'git fetch'
Message-ID: <de73f1891001070959h30e4ecebw7c852f0417647419@mail.gmail.com>
URL: https://gitlist.dev/e/de73f1891001070959h30e4ecebw7c852f0417647419%40mail.gmail.com

```
This is very strange, and defies the understanding of everyone in the
office familiar with git.  Is it a bug, or some feature we don't
understand?

Basically, when I do a 'git fetch', it updates my local repository.
Now nobody else is doing anything, so the remote repository does not
change.  Doing another 'git fetch' should report that nothing needs to
be done and nothing should change.  But instead, it reports something
about the remote HEAD, and changes my local branch 'master' to some
strange location!  Running 'git fetch' again restores it to the
correct state, reporting that it is updating 'master'.  Repeated
invocations will toggle between these two results.  Below is a
transcript from the bash shell.

Can someone please explain this?

---- bash console ----
dkirk@RI-ENG-21 /c/Dev/TSWeb2 (master)
$ git fetch
From //10.18.0.53/git/repos/WebTrading
 + 03c60a4...209b0bc HEAD       -> origin/HEAD  (forced update)

dkirk@RI-ENG-21 /c/Dev/TSWeb2 (master)
$ git fetch
From //10.18.0.53/git/repos/WebTrading
 + 209b0bc...03c60a4 master     -> origin/master  (forced update)

dkirk@RI-ENG-21 /c/Dev/TSWeb2 (master)
$ git fetch
From //10.18.0.53/git/repos/WebTrading
 + 03c60a4...209b0bc HEAD       -> origin/HEAD  (forced update)

dkirk@RI-ENG-21 /c/Dev/TSWeb2 (master)
$ git fetch
From //10.18.0.53/git/repos/WebTrading
 + 209b0bc...03c60a4 master     -> origin/master  (forced update)

Thanks,
-David

```

## Ilari Liusvaara, 2010-01-07 18:07

Subject: Re: Strange happening with 'git fetch'
Message-ID: <20100107180742.GA27643@Knoppix>
URL: https://gitlist.dev/e/20100107180742.GA27643%40Knoppix
In-Reply-To: <de73f1891001070959h30e4ecebw7c852f0417647419@mail.gmail.com>

```
On Thu, Jan 07, 2010 at 11:59:39AM -0600, David Kirk wrote:
> This is very strange, and defies the understanding of everyone in the
> office familiar with git.  Is it a bug, or some feature we don't
> understand?
> 
> Basically, when I do a 'git fetch', it updates my local repository.
> Now nobody else is doing anything, so the remote repository does not
> change.  Doing another 'git fetch' should report that nothing needs to
> be done and nothing should change.  But instead, it reports something
> about the remote HEAD, and changes my local branch 'master' to some
> strange location!  Running 'git fetch' again restores it to the
> correct state, reporting that it is updating 'master'.  Repeated
> invocations will toggle between these two results.  Below is a
> transcript from the bash shell.
> 
> Can someone please explain this?

I have seen that before. Looks like you have local branch 'HEAD' (_not_
the special ref HEAD) on remote side and that is messing it up.

ls-remote'ing the repository shows 'refs/heads/HEAD', right (there's
also HEAD, that's the required special ref)?

-Ilari

```
