submodule1, submodule2 y mainmodule debe contener un archivo txt con la version actual es decir que en la misma carpeta deben estar las 3 carpetas
mkdir submodule1
cd submodule1
git init
echo "inicio" >> version.txt
git add .
git commit -m 'inicio'
//TODO debe crear el repositorio en github
cd ..
mkdir submodule2
cd submodule2
git init
echo "inicio" >> version.txt
git add .
git commit -m 'inicio'
//TODO debe crear el repositorio en github
cd ..
mkdir mainmodule
cd mainmodule
git init
echo "inicio" >> version.txt
git add .
git commit -m 'inicio'
//TODO debe crear el repositorio en github
cd ..
git submodule add [repositorio] [carpeta]
Nota: la url del modulo es la de github
cd mainmodule
git submodule add git://submodule1 module1
git submodule init
git submodule update
git submodule add git://submodule2 module2
git submodule init
git submodule update
cd ..
en submodule1
cd submodule1
echo "v1.0" >> version.txt
git add .
git commit -m 'my version 1.0'
git tag -a v1.0 -m 'my version 1.0'
git push origin v1.0
echo "v2.0" >> version.txt
git add .
git commit -m 'my version 2.0'
git tag -a v2.0 -m 'my version 2.0'
git push origin v2.0
echo "v3.0" >> version.txt
git add .
git commit -m 'my version 3.0'
git tag -a v3.0 -m 'my version 3.0'
git push origin v3.0
cd ..
en submodule2
cd submodule2
echo "v1.0" >> version.txt
git add .
git commit -m 'my version 1.0'
git tag -a v1.0 -m 'my version 1.0'
git push origin v1.0
echo "v2.0" >> version.txt
git add .
git commit -m 'my version 2.0'
git tag -a v2.0 -m 'my version 2.0'
git push origin v2.0
cd ..
cd mainmodule
echo "v1.0" >> version.txt
git add .
git commit -m 'my version 1.0'
git tag -a v1.0 -m 'my version 1.0'
cd module1
git fetch --tags
git checkout v1.0
cd ..
git add module1
git commit -m "moved submodule to v1.0"
git push origin master
cd module2
git fetch --tags
git checkout v1.0
cd ..
git add module2
git commit -m "moved submodule2 to v2.0"
git push origin master
cd module1
git fetch --tags
git checkout v2.0
cd ..
git add module1
git commit -m "moved submodule1 to v2.0"
git push origin master
cd module2
git fetch --tags
git checkout v2.0
cd ..
git add module2
git commit -m "moved submodule2 to v2.0"
git push origin master
cd submodule2
echo "v4.0" >> version.txt
git add .
git commit -m 'my version 4.0'
git tag -a v4.0 -m 'my version 4.0'
git push origin master
cd submodule2
echo "v3.0" >> version.txt
git add .
git commit -m 'my version 3.0'
git tag -a v3.0 -m 'my version 3.0'
git push origin master
cd module1
git fetch --tags
git checkout v3.0
cd ..git
git add module1
git commit -m "moved submodule1 to v3.0"
git push origin master
cd module2
git fetch --tags
git checkout v3.0
cd ..
git add module2
git commit -m "moved submodule2 to v3.0"
git push origin master
nice