Skip to content

Instantly share code, notes, and snippets.

@phipex
Last active May 29, 2019 16:09
Show Gist options
  • Select an option

  • Save phipex/216448d39a35c3a435e14d2cfc4c7789 to your computer and use it in GitHub Desktop.

Select an option

Save phipex/216448d39a35c3a435e14d2cfc4c7789 to your computer and use it in GitHub Desktop.

Taller submodule

crear 3 repositorios en github con submodule1, submodule2 y mainmodule

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 ..

Agregar submodule1 y submodule2 a mainmodule

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 ..

Crear 3 versiones de submodule1 y 2 versiones de submodule2

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 ..

Crear primera version de mainmodule sin submodule

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'

Crear segunda version de mainmodule con submodule1 en su version uno

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

Crear tercera version de mainmodule con submodule2 en su version uno

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

Crear cuarta version de mainmodule con submodule1 en su version dos

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

Crear tercera version de mainmodule con submodule2 en su version dos

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

Crear version 4 de submodule1

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

Crear version 3 de submodule2

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

Crear segunda version de mainmodule con submodule1 en su version tres

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

Crear cuarta version de mainmodule con submodule2 en su version tres

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
@camiloperezv
Copy link

nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment