Git submodule remove submodule

di Lorenzo Neri
65 visualizzazioni

Git submodule remove submodule: come si fa? Come si può rimuovere un submodule? È quello che ho il piacere di farti scoprire all’interno di questo articolo.

Nel mondo di git i submodule sono una parte interessante da utilizzare, eppure se sei qua è perché ti stai chiedendo come eseguire la remove e quindi la rimozione di un submodule, come fare? C’è un comando in particolare? Prima di affrontare questa tematica, permettimi di presentarmi.

Ciao! Mi chiamo Lorenzo Neri e sono un informatico: mi occupo di realizzare contenuti che aiutino persone come te a padroneggiare l’arte del nuovo millennio, l’informatica!

Devi sapere che questo articolo così come tanti altri è nato dalla mia volontà di condividere con te e tanti altri le soluzioni che ho trovato a diversi problemi nelle mie attività lavorative.

Come? Documentando.

E quindi scrivendo i vari articoli che possano aiutare persone come te che mi stai leggendo a risolvere gli stessi problemi che ho incontrato io che trovi sul mio blog.

Ciò detto, addentriamoci sull’affrontare questo problema.

Git submodule remove: come si rimuove un submodule?

Come detto prima, i submodule sono una parte integrante di git, su cui trovi maggiori dettagli nella documentazione ufficiale qui, per rimuoverli è necessario agire a livello del file “.gitmodules”.

All’interno di questo file troviamo tutte le informazioni inerenti ai submodules che compongono il nostro repo.

Cerchiamo di capire step by step come fare ciò.

Il primo punto, consiste nel cancellare le informazioni inerenti al nostro submodule da rimuovere dal file in questione.

A questo punto, così come avviene per gli altri file di configurazione di GIT, argomento su cui ho scritto molto nel blog e trovi tanti articoli proprio qui, le modifiche vanno commitate, eh sì.

Perciò, una volta eliminate le informazioni del submodule, procediamo così:

git add .gitmodules

Abbiamo finito? No, magari 😀

Dobbiamo rimuovere le parti interessate del submodule in questione anche da “.git/config” e non solo!

Dobbiamo rimuovere il submodule integralmente. Come?

Vanno rimosse le sue informazioni sia dal working tree, sia dall’indice del nostro repository.

Per fare ciò:

git rm --cached percorso_del_submodule

Poi:

rm -rf .git/modules/percorso_del_submodule

E anche a questo giro dobbiamo registrare le modifiche: come? Con un commit, che domande!

git commit -m "Ho rimosso il submodule di cui non me ne frega una ceppa"

Infine, l’ultimo passo, consiste nel cancellare dal nostro disco i file del submodule stesso.

rm -rf cartella_del_submodule

E…

Git submodule: reinit per una remove più sostenibile

Di per sé ci sarebbe una strada più breve, anzi che dico: brevissima per rimuovere un submodule.

Te la faccio vedere solo ora perché trovo comunque saggio mostrarti i meccanismi alla base di git per rimuovere un submodule, ma comunque dalla versione 1.8.3 di git stando alla documentazione ufficiale, si può sfruttare un comando pratico: deinit.

In sintesi, dobbiamo procedere con tre comandi, il cui primo è:

git submodule deinit -f -- a/nome_del_submodule

Per poi procedere ad eliminare tutto attraverso i comandi che abbiamo usato anche nel caso più tecnichese di prima, cioè:

rm -rf .git/modules/a/nome_del_submodule
git rm -f a/nome_del_submodule

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più