Eu tenho um submódulo git no meu repositório principal do git. Pelo que entendi, o repositório principal armazena um valor SHA (em algum lugar ...), apontando para o commit específico do submódulo ao qual ele está "vinculado".
Entrei no meu submódulo e digitei git checkout some_other_branch
. Eu não tenho idéia de qual compromisso eu vim.
Gostaria de reverter esse ponteiro para que o repositório principal e o submódulo estejam novamente sincronizados.
Meu primeiro instinto (provavelmente ingênuo) foi dizer git reset --hard
- isso parece funcionar para todo o resto. Para minha surpresa, não funcionou nesse cenário.
Então eu descobri que posso digitar git diff
, anote o SHA ID que o ponteiro do submódulo costumava ter, e então entre no submódulo e git checkout [SHA ID]
... mas certamente deve haver uma maneira mais fácil?
Como ainda estou aprendendo sobre os submódulos git, sinta-se à vontade para corrigir minha terminologia se houver palavras para conceitos que eu não conheça.
--init
. Sem ele, os submódulos permaneceriam em um estado com(new commits)
. Mesmo que meus submódulos já tenham sido inicializados.