forked from DecentralizedClimateFoundation/docs
Merge pull request 'Solving issue #40:Workshop Git and GitFlow ES : Social Service , SebastianZR' (#43) from SebastianZR/docs:develop into develop
Reviewed-on: https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs/pulls/43
This commit is contained in:
commit
bd73176914
|
@ -11,70 +11,106 @@ El proposito del siguiente documento es aprender mientras se utiliza git y gitfl
|
||||||
|
|
||||||
## Proceso
|
## Proceso
|
||||||
|
|
||||||
Los siguientes pasos serian:
|
### Los siguientes pasos serian:
|
||||||
|
|
||||||
0.- Crear cuenta en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs).
|
1. Crear cuenta en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target="_blank"}.
|
||||||
Para crear la cuenta se necesita un correo electrónico y un nombre de usuario, despues presionas en la esquina superior derecha el <**Registro**> e ingresas tu correo de registro, nombre de usuario <**Nombre**> y contraseña **<Contraseña>**.
|
Para crear la cuenta se necesita un correo electrónico y un nombre de usuario, despues presionas en la esquina superior derecha el <**Registro**> e ingresas tu correo de registro, nombre de usuario <**Nombre**> y contraseña **<Contraseña>**.
|
||||||
De esta forma tendras tu propia cuenta dentro de la plataforma git de DCF y clonar los repositorios de la Fundacion para contribuir.
|
De esta forma tendras tu propia cuenta dentro de la plataforma git de DCF y clonar los repositorios de la Fundacion para contribuir.
|
||||||
|
|
||||||
|
|
||||||
1.- Crear un Issue en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs) con un titulo breve sobre el tema <**Titulo brevemente**> , nombre del estudiante. <**Nombre del Estudiante**> y una descripción <**Descripción**> mas detallada sobre el caso o mejora que se desea realizar.
|
2. Crear un Issue en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target="_blank"} con un titulo breve sobre el tema <**Titulo brevemente**> , nombre del estudiante. <**Nombre del Estudiante**> y una descripción <**Descripción**> mas detallada sobre el caso o mejora que se desea realizar.
|
||||||
|
|
||||||
2.- Hacer un Fork del repositorio [docs](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs) del git de DCF, el cual podemos realizar al clickear el boton en la parte superior derecha donde dice Fork, ahi podemos cambiarle el titulo (Se recomienda mantenerlo y solo aceptar el fork a nuestro repositorio).
|
3. Hacer un Fork del repositorio [docs](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target="_blank"} del git de DCF, el cual podemos realizar al clickear el boton en la parte superior derecha donde dice Fork, ahi podemos cambiarle el titulo (Se recomienda mantenerlo y solo aceptar el fork a nuestro repositorio).
|
||||||
|
|
||||||
3.- Clonar el repositorio e implementar git flow (cambiar a la rama develop).
|
4. Se debe tener un acceso a la VPN y solicitar un certiicado, Contacte al [Sysadmin](mailto:david@decentralizedclimate.org) se sugiere el uso de [OpenVPN Connect](https://openvpn.net/client/client-connect-vpn-for-windows/){:target="_blank"}, para el uso del certificado que se envie, tambien se sugiere el uso de [MobaXterm](https://mobaxterm.mobatek.net/){:target="_blank"} si eres usuario de Windous y si eres usuario de Linux o Mac os ya tienes por defecto un cliente ssh.
|
||||||
Se debe tener un acceso a VPN y pedir una Shell Contacte al [Sysadmin](mailto:david@decentralizedclimate.org) se sugiere el uso de [OpenVPN Connect](https://openvpn.net/client/client-connect-vpn-for-windows/), para el uso de la Shell que se envie, tambien se sugiere el uso de [MobaXterm](https://mobaxterm.mobatek.net/)
|
|
||||||
Despues de tener todo lo necesario, se siguen los pasos siguientes:
|
|
||||||
|
|
||||||
1.- Se conecta a la VPN ingresando el archivo ssh a sesiones existentes dentro de OpenVPN y despues ingresa la contraseña proporcinada por el Sysadmin.
|
5. Una ves obtenido su certificado (certificado.ovpn) importarlo en la OpenVPN y encenderla.
|
||||||
|
|
||||||
2.- Se ejecuta MobaXterm y se siguen los siguientes comandos:
|
6. En su MobaXterm o terminal preferida se siguen los siguientes comandos:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ ssh pagano@10.162.235.52 #Se conecta uno a la VPN con el usuario que le proporcione el Sysadmin (el cual le pedira un usuario y una contraseña)
|
$ ssh <nombreUsuario>@10.162.235.52 #Nos conectamos ala maquina con IP "10.162.235.52" con el usuario que se nos fue asignado y ingresar la password que le fue dada.
|
||||||
|
|
||||||
$ su [team numero] #Aqui se usara el team al que seas unido ejemplo si eres del team 2 deberas ingresar su team2
|
|
||||||
|
|
||||||
$ tmux a-t 0 # Si existe la sesion 0 que se creo previamente por otro usuario utilizar el comando de tmux a -t 0
|
|
||||||
|
|
||||||
|
$ su [team numero] #Aqui se usara el team al que seas unido ejemplo si eres del team 2 de**
|
||||||
```
|
```
|
||||||
|
|
||||||
>**Sugerencias:**
|
|
||||||
|
|
||||||
>**Si existe la sesion 0 que se creo previamente por otro usuario utilizar el comando de tmux a -t 0**
|
|
||||||
|
|
||||||
>**tmux ls - Lista sesiones activas de tmux**
|
|
||||||
|
|
||||||
>**Si estas dentro de tmux para salir utiliza Ctrl+b despues apretar d para no cerrar la sesion de todo.**
|
>**Si estas dentro de tmux para salir utiliza Ctrl+b despues apretar d para no cerrar la sesion de todo.**
|
||||||
|
|
||||||
|
|
||||||
Cuando tengas tu VPN y Shell podras iniciar sesion y dentro entrar al team1 y al
|
7. Una ves en su team clonar el siguiente repositorio:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ git clone https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs
|
$ git clone https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs
|
||||||
```
|
```
|
||||||
|
|
||||||
Entramos al proyecto git clonado en la maquina y vamos al archivo correspondiente en la ruta: docs/posts/socialserv/
|
|
||||||
|
8. Entramos al proyecto clonado previamente en la maquina y ingresamos en la siguiente ruta: docs/
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ cd docs
|
$ cd docs/
|
||||||
```
|
```
|
||||||
|
9. Inicializamos git flow con el siguiente comando, y dejamos todo por dafault:
|
||||||
4.- Abrimos el Feature a partir de la la rama develop
|
|
||||||
para esto debemos pasarnos a la rama develop con el comando:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ git checkout develop
|
$ git flow init
|
||||||
|
|
||||||
|
Which branch should be used for bringing forth production releases?
|
||||||
|
- master
|
||||||
|
Branch name for production releases: [master]
|
||||||
|
Branch name for "next release" development: [develop]
|
||||||
|
|
||||||
|
How to name your supporting branch prefixes?
|
||||||
|
Feature branches? [feature/]
|
||||||
|
Bugfix branches? [bugfix/]
|
||||||
|
Release branches? [release/]
|
||||||
|
Hotfix branches? [hotfix/]
|
||||||
|
Support branches? [support/]
|
||||||
|
Version tag prefix? []
|
||||||
|
Hooks and filters directory? [/home/team2/docs/docs2/.git/hooks]
|
||||||
|
|
||||||
|
```
|
||||||
|
10. Checamos la rama en la que estamos que tiene que ser 'develop':
|
||||||
|
|
||||||
|
|
||||||
|
```shell
|
||||||
|
|
||||||
|
$ git checkout
|
||||||
|
Your branch is up to date with 'origin/develop'.
|
||||||
|
|
||||||
$ $ git flow feature start MYFEATURE (MYFEATURE se cambia por el nombre que quieras identificarlo).
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Entramos al archivo correspondiente:
|
11. Sigue el [Readme](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target='_blank'} para instalar y visualizar jekyll mientras continuas el taller.
|
||||||
|
|
||||||
|
|
||||||
|
12. Abrimos el Feature con el siguiente comando:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
$ git flow feature start <MyFeature> #MyFeature se cambia por el nombre que quieras identificarlo
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
13. Entramos ala ruta siguiente dentro de 'docs/':
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ cd _posts/socialserv/
|
$ cd _posts/socialserv/
|
||||||
```
|
```
|
||||||
Se editara el documento (en este ejemplo 2023-02-22-GitES.md) poniendo el comando del editor vim (**para el ejemplo seria: vim 2023-02-22-GitES.md**) pulsando `i` y empezamos a editar el documento.
|
14. Buscaremos el archivo que editaremos en este caso '2023-02-22-GitES.md' para eso hacemos primero un 'ls' para listar los archivos en la carpeta que estamos y despues usamos vim para editarlo.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
|
||||||
|
$ ls
|
||||||
|
|
||||||
|
2023-01-27-socialServicesWorkFlowModel.md
|
||||||
|
2023-02-24-Web3StaticES.md
|
||||||
|
2023-03-15-gitflowCheetSheet_ES.md
|
||||||
|
2023-02-22-GitES.md
|
||||||
|
2023-03-15-gitflowCheetSheet_EN.md
|
||||||
|
|
||||||
|
$ vim 2023-02-22-GitES.md
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
>Se adjunta un Cheat Sheet de vim para guiarte y editar de forma correcta y eficiente el archivo en vim.
|
>Se adjunta un Cheat Sheet de vim para guiarte y editar de forma correcta y eficiente el archivo en vim.
|
||||||
|
|
||||||
|
@ -109,23 +145,10 @@ Modo de Comando:
|
||||||
|
|
||||||
Puedes agregar, editar o mejorar el documento asi como estudiar el cheetsheet de gitflow y de gitlab.
|
Puedes agregar, editar o mejorar el documento asi como estudiar el cheetsheet de gitflow y de gitlab.
|
||||||
|
|
||||||
|
15. Una ves echo los cambios en el documento y guardarlos, salimos de vim escribiendo ':wq' en modo normal (presionando "esc") , hay que registrarlos en git con el siguiente comando:
|
||||||
>Puedes tener una terminal abierta en **tmux** asi tendremos corriendo el servidor mientras editamos, esto se realizaria con bundle.
|
|
||||||
> Verifica que bindle este instalado con el comando siguiente: **bundle --version**
|
|
||||||
Si no esta instalado puede seguir estos pasos:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
gem install bundler
|
$ git add . # El punto significa que queremos agregar los cambios a todos los archivos
|
||||||
```
|
|
||||||
|
|
||||||
Lo corremos para visualizar los cambios en el conteneder de la VPN http://ip:puerto
|
|
||||||
> Ejemplo: http://10.162.235.52:4000/
|
|
||||||
|
|
||||||
Luego que todo podemos agregar los cambios cerrando el documento con Ctrl + x y despues con el comando:
|
|
||||||
|
|
||||||
|
|
||||||
```shell
|
|
||||||
$ git add .
|
|
||||||
```
|
```
|
||||||
> Antes de agregar algo, recuerda estar en la raiz del proyecto git en este caso **docs**
|
> Antes de agregar algo, recuerda estar en la raiz del proyecto git en este caso **docs**
|
||||||
|
|
||||||
|
@ -133,71 +156,73 @@ Con esto agregamos el archivo o archivos modificados al area de preparacion.
|
||||||
|
|
||||||
Despues debemos crear el commit con los cambios agregados.
|
Despues debemos crear el commit con los cambios agregados.
|
||||||
|
|
||||||
Después de ejecutar git add ., puedes crear un commit utilizando el comando git commit -m "mensaje del commit". Al hacerlo, se crea un nuevo commit que contiene los cambios registrados en el área de preparación. El mensaje del commit proporcionado después del parámetro -m describe los cambios realizados en el commit.
|
16. Después de ejecuta ,`git add` puedes crear un commit utilizando el comando `git commit -m <Mensaje del commit>`. Al hacerlo, se crea un nuevo commit que contiene los cambios registrados en el área de preparación. El mensaje del cmit proporcionado después del parámetro -m describe los cambios realizados en ecommit :
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ git commit -m "Mensaje"
|
$ git commit -m 'Mensaje'
|
||||||
```
|
```
|
||||||
|
|
||||||
> Aclara que se modifico, agrego o mejoro en el commit brevemente pero conciso.
|
> Aclara que se modifico, agrego o mejoro en el commit brevemente pero conciso.
|
||||||
|
|
||||||
5.- Al terminar el Feature debemos hacer el push con referencia.
|
17. Una vez echo el commit se finaliza el desarrollo del feature:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git push origin feature
|
$ git flow finish <myFeature>
|
||||||
|
|
||||||
|
$ git checkout
|
||||||
|
Your branch is up to date with 'origin/develop'.
|
||||||
|
```
|
||||||
|
> Se utliza `git checkout` para verificar que estamos en la rama develop
|
||||||
|
|
||||||
|
18. Al terminar el Feature debemos hacer el push con referencia.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ git pull
|
||||||
|
$ git push
|
||||||
```
|
```
|
||||||
|
|
||||||
Esto enviará los cambios de la rama **feature** al repositorio remoto llamado **origin**. Asegúrate de reemplazar "feature" con el nombre de tu rama.
|
> Por buena practica se recomienda hacer primero un pull y despues nuestro respectivo push.
|
||||||
|
|
||||||
Terminamos el Feature hacia la rama develop (la rama de donde partio todo).
|
Esto nos pedira nuestro usuario y un codigo ssh que nos proporciona el mismo git.
|
||||||
|
> El ssh lo puedes generar al entrar a [Configuracion ~ Aplicaciones] le ingresamos un nombre y generamos el codigo que sustituira a la contraseña.
|
||||||
|
|
||||||
Por buena practica se recomienda hacer primero un pull y despues nuestro respectivo push.
|
Verifica que si se hizo el git push en tu repositorio forkeado en la pagina de git debes ingresar a tu repositorio y ver que el push fue agregado de forma correcta.
|
||||||
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ git flow feature pull origin MYFEATURE #MYFEATURE se reemplaza por el nombre que le pusiste al feature.
|
|
||||||
|
|
||||||
$ git feature finish
|
19. Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando:
|
||||||
```
|
|
||||||
|
|
||||||
Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando:
|
|
||||||
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ git log
|
$ git log
|
||||||
```
|
```
|
||||||
|
|
||||||
El cual nos da un historial de los commits del proyecto con los datos de quien lo hizo a que hora y la fecha.
|
> El cual nos da un historial de los commits del proyecto con los datos de quien lo hizo a que hora y la fecha.
|
||||||
|
|
||||||
|
20. Hacer el Pull Request en el git de Decentralized Climate de la rama develop personal a la rama develop del Repositorio de DCF.
|
||||||
|
|
||||||
```sh
|
21. ***Exito*** concluiste tu Taller de Git y GitFlow. :)
|
||||||
git push
|
|
||||||
```
|
|
||||||
Esto nos pedira nuestro usuario y un codigo ssh que nos proporciona el mismo git.
|
|
||||||
> El ssh lo puedes generar al entrar a [Configuracion ~ Aplicaciones] le ingresamos un nombre y generamos el codigo que sustituira a la contraseña.
|
|
||||||
|
|
||||||
Verifica que si se hizo el git push en tu repositorio forkeado en la pagina de gitDebes ingresar a tu repositorio y ver que el push fue agregado de forma correcta.
|
|
||||||
|
|
||||||
|
|
||||||
6.- Hacer el Pull Request en el git de Decentralized Climate de la rama develop personal a la rama develop del Repositorio de DCF.
|
|
||||||
|
|
||||||
|
|
||||||
## CONTACTO Y DESARROLLADORES
|
## CONTACTO Y DESARROLLADORES
|
||||||
> Work developed in collaboration with the [Decentralized Climate Foundation](https://decentralizedclimate.org).
|
> Work developed in collaboration with the [Decentralized Climate Foundation](https://decentralizedclimate.org){:target="_blank"}.
|
||||||
|
|
||||||
- [David E. Perez Negron R.](mailto:david@neetsec.com)
|
- [David E. Perez Negron R.](mailto:david@neetsec.com) @p1r0
|
||||||
|
|
||||||
- [Gustavo Bermudez](mailto:nizaries44@gmail.com)
|
- [Gustavo Bermudez](mailto:nizaries44@gmail.com)
|
||||||
|
|
||||||
|
- [Sebastian Zarraga](https://github.com/SebastianZR)
|
||||||
|
|
||||||
## Referencias
|
## Referencias
|
||||||
|
|
||||||
Cheatsheet de git flow: https://danielkummer.github.io/git-flow-cheatsheet/
|
1. Cheatsheet de git flow: [https://danielkummer.github.io/git-flow-cheatsheet/](https://danielkummer.github.io/git-flow-cheatsheet){:target="_blank"}, 2023-07-17.
|
||||||
|
|
||||||
Video Sobre gitflow: https://www.youtube.com/watch?v=BYrt6luynCI
|
2. Video Sobre gitflow: [https://www.youtube.com/watch?v=BYrt6luynCI](https://www.youtube.com/watch?v=BYrt6luynCI){:target="_blank"}, 2023-07-17.
|
||||||
|
|
||||||
Link Hackmd a Git: https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github
|
3. Link Hackmd a Git: [https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github](https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github){:target="_blank"}, 2023-07-17.
|
||||||
|
|
||||||
Manual de markdown: https://hackmd.io/c/tutorials/%2Fs%2Fhow-to-create-book.
|
4. Adam P., "Mardown Cheatsheet", [https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet]( https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet){:target="_blank"}, 2023-07-17.
|
||||||
|
|
||||||
Cheatsheet de vim: https://devhints.io/vim
|
5. Cheatsheet de vim: [https://devhints.io/vim](https://devhints.io/vim){:target="_blank"}, 2023-07-17.
|
||||||
|
|
||||||
|
6. Cheatsheet [Git & GitFlow ES]({% post_url socialserv/2023-03-15-gitflowCheetSheet_ES %}){:target="_blank"}, 2023-07-17.
|
||||||
|
|
Loading…
Reference in New Issue