I understand the idea of running git fetch <remote>
, because the remote branches are then available with git checkout <remote>/<branch>
.
But how does it work if I just run
git fetch path/to/other/repo
How can I checkout the corresponding branches? Note that the operation runs silently (even with --verbose
), and that no new branch is created.
edit: just to be clear: I perfectly understand how git works with remotes. I'm just curious about this alternate syntax git fetch path/to/remote
, or git fetch <url>
. How is it supposed to work? Why does it not create new branches? Why does it run silently even in verbose mode? What is the intended usage?
I think the best explanation (much better than the docs) is an answer to another question by Jakub Narębski.
Basically:
git fetch <path>
just fetches the HEAD
branch of the remote, and stores it locally into FETCH_HEAD
.
git fetch <path> <branch>
fetches the branch in the remote repo and stores it in FETCH_HEAD
.
More advanced usages are described in Jakub Narębski's answer, but, as he states himself, the best way to fetch is to use named remotes.