I have a git repository that has a remote set up (\"git fetch\" works), but it doesn\'t have any remote branches: the \".git/refs/remotes\" folder doesn\'t
[Edit, April 2017] If you made your original clone with --single-branch
, your remote.origin.fetch
setting will be the problem. If you used a --depth
limit, that too implies --single-branch
. Restore the normal remote.origin.fetch
value described below and you will get a fuller clone.
Normally, just running git fetch
should restore your remote-tracking branches.
If git fetch
is not restoring them, then I wonder: what goes git config --get-all remote.origin.fetch
print? (This assumes the remote is named origin
; if not, substitute the actual name.) It should be set to +refs/heads/*:refs/remotes/origin/*
(again assuming the name origin
). Special cases (such as fetching notes) might add more lines.
This solved my problem
git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
When I excute vi .git/config
, I loose the fetch line:
fetch = +refs/heads/*:refs/remotes/origin/*