Git Impostazione di un sottomodulo per seguire un ramo

Esempio

Un sottomodulo viene sempre controllato a un commit specifico SHA1 (il "gitlink", voce speciale nell'indice del repository padre)

Ma si può richiedere di aggiornare quel sottomodulo all'ultima commit di un ramo del repository remoto del sottomodulo.

Piuttosto che andare in ogni sottomodulo, facendo un git checkout abranch --track origin/abranch, git pull , puoi semplicemente fare (dal repository padre) a:

git submodule update --remote --recursive

Poiché lo SHA1 del sottomodulo cambierebbe, avresti comunque bisogno di seguirlo con:

git add .
git commit -m "update submodules"

Questo suppone che i sottomoduli fossero:

  • o aggiunto con un ramo da seguire:

      git submodule -b abranch -- /url/of/submodule/repo
    
  • o configurato (per un sottomodulo esistente) per seguire un ramo:

      cd /path/to/parent/repo
      git config -f .gitmodules submodule.asubmodule.branch abranch