I have a git submodule in my main git repo. As I understand it, the main repo stores a SHA value (somewhere...), pointing to the specific commit of the submodule that it is "linked to".
I went in to my submodule and typed git checkout some_other_branch
. I have no idea which commit I came from.
I would like to revert that pointer so that the main repo and the submodule are in sync again.
My first (probably naive) instinct was to say git reset --hard
- that seems to work for everything else. To my surprise, it did not work for this scenario.
So I've figured out that I can type git diff
, note the SHA ID that the submodule pointer used to have, and then head into the submodule and git checkout [SHA ID]
... but surely there must be an easier way?
As I'm still learning about git submodules, please feel free to correct my terminology if there are words for concepts that I don't know.
--init
. Without it, the submodules would stay in a state with(new commits)
. Even though my submodules were already initialised. – Volsung