In my project (which uses git
), I need to use a library, which is still in progress. I decided to create a submodule for that library, because I want to update from time to time its latest version (I don't plan to make my own change there).
I did:
git submodule add https://github.com/mb21/JSONedit.git
git commit -am 'added JSNedit submodule'
git push -u origin master
git pull origin master
Then, I did see the JSONedit folder in my local folder, and a link in my git folder online. But when I did git submodule update --remote JSONedit/
, I got the following errors:
fatal: Needed a single revision
Unable to find current origin/master revision in submodule path 'JSONedit'
Does anyone know what's wrong here?
Running this in the main repository should do the trick:
git pull --recurse-submodules
According to the other discussion, especially as @Tobu pointed out in his comment over there, if the error persists, it might be needed to first:
remove both the submodule worktree (ext/blah) and the matching folder inside the GIT_DIR (
.git/modules/ext/blah
)
Alternatively, you could git checkout
the branch from which you want to pull while inside the submodule, and then run a git pull
.
Results should be the same.