Atualização do sub-módulo Git substituída

Estou trabalhando em um projeto git com várias pessoas e incluímos uma biblioteca externa como um submódulo git. Compartilhamos um controle remoto comum para o qual carregamos e puxamos regularmente.

Desde que adicionamos este submódulo pela primeira vez, houve algumas alterações, então fiz umagit submodule update --remote para atualizá-lo para a versão mais recente. Isso funcionou para mim e eu coloquei isso no nosso controle remoto compartilhado. O arquivo no local do submódulo em que a referência ao commit está armazenada foi alterado:

-Subproject commit <old-commit-hash>
+Subproject commit <new-commit-hash>

Quando meus colegas estão obtendo alterações de nosso controle remoto compartilhado, eles também recebem o submódulo alterado, no entanto, isso parece ser diferente de uma alteração em um arquivo regular, pois não substitui a versão antiga (o que eu esperaria), mas parece como mudar quando eles corremgit status:

Changes not staged for commit:,
    modified:   src/submodule (new commits)

Então o arquivo abaixo mudou (para a nova revisão que eu empurrei), mas de alguma forma o git acha que oversão local do meu colega é mais novo. No entanto, este é realmente o antigo, apontando para a revisão anterior que meus colegas ainda têm.

Agora, eu gosto dos meus colegas, mas às vezes eles realmente não prestam atenção e tudo o que fazem égit add . ougit commit -a que incluitudo muda e, é claro, substitui as alterações no submódulo com a referência ao commit do submódulo antigo.

Existe uma maneira de impor essa atualização do submódulo a todas as pessoas que extraem deste controle remoto? Esse arquivo de referência do submódulo pode ser tratado como um arquivo normal que é atualizado apenas normalmente? Ou tenho que dizer aos meus colegas para prestar mais atenção e fazer umagit submodule update de tempos em tempos?

Espero que minha pergunta seja clara. Caso contrário, pergunte e tentarei esclarecer.

questionAnswers(2)

yourAnswerToTheQuestion