Compare commits

..

1 Commits

Author SHA1 Message Date
Team1 b4b72f4b19 Point 6 of the Git and Gitflow workshop was redesigned and detailed. 2023-07-05 21:19:06 +00:00
2 changed files with 153 additions and 179 deletions

View File

@ -43,16 +43,7 @@ $ gem -v
$ gem update --system $ gem update --system
# WARNING: If you need to update the gems, there are
# two options: either update them using a tool like rvm# or ruby-install, among others.
# It is not necessary to update them since Ruby is
# already up to date.
# Additionally, you can also update them using the
# following command: */
$ sudo apt update && sudo apt upgrade
# This command first updates the list of available packages and then updates the installed programs on the system to their latest versions.
``` ```
Make sure that you have GCC 10.2.1 and Make 4.3 or higher installed (You can check their installation by using the commands gcc -v, g++ -v, and make -v, respectively). Make sure that you have GCC 10.2.1 and Make 4.3 or higher installed (You can check their installation by using the commands gcc -v, g++ -v, and make -v, respectively).
@ -92,22 +83,10 @@ $ bindle -v
Bundler version 2.4.8 Bundler version 2.4.8
$ bundle exec jekyll b $ bundle exec jekyll serve
# This command is used to gathe
the changes and clear the cache of the browser
being used.
$ bundle exec -H # IP Server & PC # Browse to http://localhost:4000
# Example: bundle exec -H 10.162.235.52
# This command helps us configure the IP of the
# server being used to run bundle. Remember to enter
# the correct IP of your server or PC.
# Remember to run this command in the root folder of
# your Git project. Otherwise, you might get warnings
# that something was compiled incorrectly, even if it's# being run in a subfolder of the project.
``` ```
Remember that the last command is to run the website and verify that the contribution runs correctly. Remember that the last command is to run the website and verify that the contribution runs correctly.

View File

@ -11,106 +11,70 @@ El proposito del siguiente documento es aprender mientras se utiliza git y gitfl
## Proceso ## Proceso
### Los siguientes pasos serian: Los siguientes pasos serian:
1. Crear cuenta en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target="_blank"}. 0.- Crear cuenta en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs).
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.
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. 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.
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). 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).
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. 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:
5. Una ves obtenido su certificado (certificado.ovpn) importarlo en la OpenVPN y encenderla. 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.
6. En su MobaXterm o terminal preferida se siguen los siguientes comandos: 2.- Se ejecuta MobaXterm y se siguen los siguientes comandos:
```shell ```shell
$ 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. $ 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)
$ 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.**
7. Una ves en su team clonar el siguiente repositorio: Cuando tengas tu VPN y Shell podras iniciar sesion y dentro entrar al team1 y al
```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 flow init $ git checkout develop
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).
``` ```
11. Sigue el [Readme](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs){:target='_blank'} para instalar y visualizar jekyll mientras continuas el taller. Entramos al archivo correspondiente:
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/
``` ```
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. 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.
```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.
@ -145,10 +109,23 @@ De esta forma tendras tu propia cuenta dentro de la plataforma git de DCF y clon
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
$ git add . # El punto significa que queremos agregar los cambios a todos los archivos gem install bundler
```
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**
@ -156,73 +133,91 @@ De esta forma tendras tu propia cuenta dentro de la plataforma git de DCF y clon
Despues debemos crear el commit con los cambios agregados. Despues debemos crear el commit con los cambios agregados.
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 : 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.
```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.
17. Una vez echo el commit se finaliza el desarrollo del feature: 5.- Al terminar el Feature debemos hacer el push con referencia.
```shell ```shell
$ git flow finish <myFeature> git push origin feature
$ 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 enviará los cambios de la rama **feature** al repositorio remoto llamado **origin**. Asegúrate de reemplazar "feature" con el nombre de tu rama.
Esto nos pedira nuestro usuario y un codigo ssh que nos proporciona el mismo git. Terminamos el Feature hacia la rama develop (la rama de donde partio todo).
> 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. Por buena practica se recomienda hacer primero un pull y despues nuestro respectivo push.
```sh
$ git flow feature pull origin MYFEATURE #MYFEATURE se reemplaza por el nombre que le pusiste al feature.
19. Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando: $ git feature finish
```
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.
21. ***Exito*** concluiste tu Taller de Git y GitFlow. :) ```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.
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.
6.1.- Se debe ingresar a la rama con la que se hara el Pull Requests (Esto lo podras realizar ingresando como se comento anteriormente en la pestaña superior izquierda).
6.2.- Despues en la pestaña de donde dice Pull Requests clickeamos y nos aparecera un boton verde donde dice crear "Crear Pull Request" le damos click.
6.3.- Nos saldran las dos ramas que se desean fusionar: Primero debemos ingresar la rama a la que se quiere hacer el pull en este caso la rama develop de DCF y despues se ingresa la rama de nuestro repositorio en este caso podriamos tomar la rama develop de nuestro propio repositorio.
6.4.- Nos pedira los datos para crearlo como un breve titulo de lo que se mejora, agrega o edita, tambien una descripcion donde podemos detallar lo que se hizo (podemos ver como va quedando el pull request con la opcion de "Vista Previa").
Terminando de agregar los datos respectivos, se hace el Pull requests agregando/citando que issue se resuelve agregando por ejemplo:
Resolved #0
No obstante, en la actualidad, Gitea no cuenta con una función incorporada que permita mostrar un mensaje en el problema al que se hace referencia, indicando que se ha referenciado el Pull Request.
Esto referenciara el issue que se resuelve con el Pull automaticamente y asi el Administrador podra revisarlo y cerrarlo si es el caso.
En Gitea, no se dispone de una función nativa para cerrar automáticamente los issues mencionados en la descripción del Pull Request.
Sin embargo, es posible cerrar manualmente una propuesta al incluir la referencia "Resolved #0" en la descripción del Pull Request.
Una vez que se fusiona del Pull Request, el problema mencionado se cerrará automáticamente.
## CONTACTO Y DESARROLLADORES ## CONTACTO Y DESARROLLADORES
> Work developed in collaboration with the [Decentralized Climate Foundation](https://decentralizedclimate.org){:target="_blank"}. > Work developed in collaboration with the [Decentralized Climate Foundation](https://decentralizedclimate.org).
- [David E. Perez Negron R.](mailto:david@neetsec.com) @p1r0 - [David E. Perez Negron R.](mailto:david@neetsec.com)
- [Gustavo Bermudez](mailto:nizaries44@gmail.com) - [Gustavo Bermudez](mailto:nizaries44@gmail.com)
- [Sebastian Zarraga](https://github.com/SebastianZR)
## Referencias ## Referencias
1. Cheatsheet de git flow: [https://danielkummer.github.io/git-flow-cheatsheet/](https://danielkummer.github.io/git-flow-cheatsheet){:target="_blank"}, 2023-07-17. Cheatsheet de git flow: https://danielkummer.github.io/git-flow-cheatsheet/
2. Video Sobre gitflow: [https://www.youtube.com/watch?v=BYrt6luynCI](https://www.youtube.com/watch?v=BYrt6luynCI){:target="_blank"}, 2023-07-17. Video Sobre gitflow: https://www.youtube.com/watch?v=BYrt6luynCI
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. Link Hackmd a Git: https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github
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. Manual de markdown: https://hackmd.io/c/tutorials/%2Fs%2Fhow-to-create-book.
5. Cheatsheet de vim: [https://devhints.io/vim](https://devhints.io/vim){:target="_blank"}, 2023-07-17. Cheatsheet de vim: https://devhints.io/vim
6. Cheatsheet [Git & GitFlow ES]({% post_url socialserv/2023-03-15-gitflowCheetSheet_ES %}){:target="_blank"}, 2023-07-17.