diff --git a/_posts/socialserv/2023-02-22-GitES.md b/_posts/socialserv/2023-02-22-GitES.md index 0c34334..82a7978 100644 --- a/_posts/socialserv/2023-02-22-GitES.md +++ b/_posts/socialserv/2023-02-22-GitES.md @@ -11,193 +11,218 @@ El proposito del siguiente documento es aprender mientras se utiliza git y gitfl ## 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 ****. 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). -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: +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. -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 -$ 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) + ```shell + $ ssh @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 + $ su [team numero] #Aqui se usara el team al que seas unido ejemplo si eres del team 2 de** + ``` -$ tmux a-t 0 # Si existe la sesion 0 que se creo previamente por otro usuario utilizar el comando de tmux a -t 0 - -``` - ->**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 -$ 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/ - -```shell -$ cd docs -``` - -4.- Abrimos el Feature a partir de la la rama develop -para esto debemos pasarnos a la rama develop con el comando: - -```shell -$ git checkout develop - -$ $ git flow feature start MYFEATURE (MYFEATURE se cambia por el nombre que quieras identificarlo). -``` - -Entramos al archivo correspondiente: - -```shell -$ 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. - ->Se adjunta un Cheat Sheet de vim para guiarte y editar de forma correcta y eficiente el archivo en vim. + ```shell + $ git clone https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs + ``` -```shell -# Cheat Sheet de Comandos Básicos de Vim +8. Entramos al proyecto clonado previamente en la maquina y ingresamos en la siguiente ruta: docs/ -Modo Normal: -- `i` - Cambiar al modo de inserción. -- `x` - Eliminar el carácter actual. -- `dd` - Eliminar la línea actual. -- `yy` - Copiar la línea actual. -- `p` - Pegar el contenido copiado o eliminado después de la línea actual. -- `u` - Deshacer la última acción. -- `Ctrl + r` - Rehacer la última acción deshecha. -- `:w` - Guardar el archivo. -- `:q` - Salir de Vim. -- `:q!` - Salir de Vim sin guardar cambios. + ```shell + $ cd docs/ + ``` +9. Inicializamos git flow con el siguiente comando, y dejamos todo por dafault: -Modo de Inserción: -- `Esc` - Cambiar al modo normal. + ```shell + $ git flow init -Modo de Comando: -- `:set number` - Mostrar números de línea. -- `:set nonumber` - Ocultar números de línea. -- `:set tabstop=4` - Establecer el tamaño de la pestaña en 4 espacios. -- `:set expandtab` - Utilizar espacios en lugar de tabulaciones. -- `:set autoindent` - Habilitar la indentación automática. -- `:set syntax=python` - Establecer la sintaxis resaltada para Python (sustituir "python" por el lenguaje correspondiente). -- `:help ` - Mostrar la ayuda sobre el comando especificado. -``` + Which branch should be used for bringing forth production releases? + - master + Branch name for production releases: [master] + Branch name for "next release" development: [develop] -Puedes agregar, editar o mejorar el documento asi como estudiar el cheetsheet de gitflow y de gitlab. + 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'. + + ``` + +11. Sigue el [Readme](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target='_blank'} para instalar y visualizar jekyll mientras continuas el taller. ->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: +12. Abrimos el Feature con el siguiente comando: -```shell -gem install bundler -``` + ```sh -Lo corremos para visualizar los cambios en el conteneder de la VPN http://ip:puerto -> Ejemplo: http://10.162.235.52:4000/ + $ git flow feature start #MyFeature se cambia por el nombre que quieras identificarlo -Luego que todo podemos agregar los cambios cerrando el documento con Ctrl + x y despues con el comando: + ``` + +13. Entramos ala ruta siguiente dentro de 'docs/': -```shell -$ git add . -``` -> Antes de agregar algo, recuerda estar en la raiz del proyecto git en este caso **docs** + ```shell + $ cd _posts/socialserv/ + ``` +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. -Con esto agregamos el archivo o archivos modificados al area de preparacion. + ```shell -Despues debemos crear el commit con los cambios agregados. + $ ls -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. + 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 + ``` -```shell -$ git commit -m "Mensaje" -``` + >Se adjunta un Cheat Sheet de vim para guiarte y editar de forma correcta y eficiente el archivo en vim. -> Aclara que se modifico, agrego o mejoro en el commit brevemente pero conciso. + + ```shell + # Cheat Sheet de Comandos Básicos de Vim + + Modo Normal: + - `i` - Cambiar al modo de inserción. + - `x` - Eliminar el carácter actual. + - `dd` - Eliminar la línea actual. + - `yy` - Copiar la línea actual. + - `p` - Pegar el contenido copiado o eliminado después de la línea actual. + - `u` - Deshacer la última acción. + - `Ctrl + r` - Rehacer la última acción deshecha. + - `:w` - Guardar el archivo. + - `:q` - Salir de Vim. + - `:q!` - Salir de Vim sin guardar cambios. + + Modo de Inserción: + - `Esc` - Cambiar al modo normal. + + Modo de Comando: + - `:set number` - Mostrar números de línea. + - `:set nonumber` - Ocultar números de línea. + - `:set tabstop=4` - Establecer el tamaño de la pestaña en 4 espacios. + - `:set expandtab` - Utilizar espacios en lugar de tabulaciones. + - `:set autoindent` - Habilitar la indentación automática. + - `:set syntax=python` - Establecer la sintaxis resaltada para Python (sustituir "python" por el lenguaje correspondiente). + - `:help ` - Mostrar la ayuda sobre el comando especificado. + ``` + + 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: -5.- Al terminar el Feature debemos hacer el push con referencia. + ```shell + $ git add . # El punto significa que queremos agregar los cambios a todos los archivos + ``` + > Antes de agregar algo, recuerda estar en la raiz del proyecto git en este caso **docs** -```shell -git push origin feature -``` + Con esto agregamos el archivo o archivos modificados al area de preparacion. -Esto enviará los cambios de la rama **feature** al repositorio remoto llamado **origin**. Asegúrate de reemplazar "feature" con el nombre de tu rama. + Despues debemos crear el commit con los cambios agregados. -Terminamos el Feature hacia la rama develop (la rama de donde partio todo). - -Por buena practica se recomienda hacer primero un pull y despues nuestro respectivo push. +16. Después de ejecuta ,`git add` puedes crear un commit utilizando el comando `git commit -m `. 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 : -```sh -$ git flow feature pull origin MYFEATURE #MYFEATURE se reemplaza por el nombre que le pusiste al feature. + ```shell + $ git commit -m 'Mensaje' + ``` -$ git feature finish -``` + > Aclara que se modifico, agrego o mejoro en el commit brevemente pero conciso. + +17. Una vez echo el commit se finaliza el desarrollo del feature: + + ```shell + $ git flow finish -Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando: + $ 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 + ``` + + > Por buena practica se recomienda hacer primero un pull y despues nuestro respectivo 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 git debes ingresar a tu repositorio y ver que el push fue agregado de forma correcta. -```shell -$ 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. +19. Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando: -```sh -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. + ```shell + $ git log + ``` -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. + > 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. -6.- Hacer el Pull Request en el git de Decentralized Climate de la rama develop personal a la rama develop del Repositorio de DCF. - +21. ***Exito*** concluiste tu Taller de Git y GitFlow. :) ## 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) +- [Sebastian Zarraga](https://github.com/SebastianZR) + ## 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.