La risposta breve è no. L'idea è che sai per certo che uno specifico commit del sottomodulo funzionerà con il tuo progetto, e non vuoi che alcun comportamento indefinito o inaspettato arrivi ricevendo aggiornamenti al volo. Un sottomodulo è direttamente rappresentato da due cose: una voce in .gitmodules e un gitlink, che è un riferimento allo SHA1 del commit desiderato del sottomodulo. SHA1, non refname.
Quello che stai chiedendo è davvero che il superprogetto abbia nessuna idea cosa c'è nel sottomodulo. Pensaci: i diversi cloni del tuo progetto avrebbero potuto aggiornare il sottomodulo in momenti diversi e finire con versioni diverse di esso lì, e quindi se fossero stati commessi nel tuo progetto, avrebbero dovuto registrare diversi commit nel sottomodulo. Quando vi siete uniti, dovreste semplicemente ignorare ciò che entrambi dicono e tirare di nuovo, probabilmente. Il risultato è che la tua richiesta sta evitando l'intera idea di sottomoduli: per sapere cosa hai. Se dici che stai usando "master", torneresti tra due mesi e non hai idea di cosa significhi!
Se si desidera ottenere sempre il ramo master corrente, è meglio farlo da soli. Scrivi uno script per inserire tutti i sottomoduli ed eseguirlo di tanto in tanto, inserendo le versioni aggiornate. (Prova prima, però!) Il punto qui è che con i sottomoduli, per ogni commit di superprogetto, devi sapere esattamente quale versione del sottoprogetto stai usando. A tua scelta quanto spesso desideri aggiornare la versione del sottomodulo; può essere quotidiano se vuoi.
L'alternativa sarebbe aggiungere la directory (i) per il sottomodulo (i) al proprio gitignore e scrivere un piccolo script veloce per aggiornarli (e probabilmente uno per clonarli). Questo ti costerebbe la possibilità di sapere quale versione avevi a un certo punto nel passato.
http://gitref.org/ La pagina di riferimento Git è un buon modo per iniziare se si è nuovi a git. –
@Saher: questa è una domanda molto specifica, non solo una "I'm new to git". – Cascabel
Penso che la risposta sia no. Git memorizza il nome del commit quando registra le informazioni del sottomodulo, e nel mio caso ho scritto una serie di script per tirare, aggiungere, eseguire commit e push che fa esattamente ciò che voglio che faccia con i sottomoduli. – sinelaw