Tänään törmäsin ensimmäistä kertaa gitin alimoduuleihin. Kun kloonasin repositoriota GitHubista, huomasin, että yksi sen kansioista jäi tyhjäksi. Tarkemmin katsottuna löysin viittauksen toiseen repositoriopuuhun, näin:

Tässä kansio htslib on oikeastaan peräisin toisen repositorion puusta. Kun kloonasin repositorion näin (olin haarauttanut sen ensin):
git clone https://github.com/fischuu/SE-MEI.git
kansio htslib jäi tyhjäksi. Syynä on se, ettei alimoduulien tiedostoja haeta oletuksena. Se pitää tehdä erikseen alustamalla ensin alimoduulit (siirry ensin kloonattuun repositorioon)
git submodule init
ja päivittämällä sitten niiden tiedostot
git submodule update
Näiden vaiheiden jälkeen repositorion pitäisi olla täydellinen. Alimoduulien erillisen alustamisen sijaan on myös oikotie, joka hakee kaiken yhdellä kertaa lisäämällä kloonaukseen ylimääräisen parametrin näin:
git clone --recurse-submodules https://github.com/fischuu/SE-MEI.git
Lisätietoa gitin alimoduuleista löytyy täältä.