Added a short course on how to contribute to DCF.

This commit is contained in:
Team1 2023-06-15 21:54:17 +00:00
parent c8a8253316
commit 1fb02484aa
1 changed files with 134 additions and 11 deletions

View File

@ -6,6 +6,7 @@ category: socialservice
layout: post layout: post
--- ---
El proposito del siguiente documento es aprender mientras se utiliza git y gitflow, en especial para trabajos colaborativos. El proposito del siguiente documento es aprender mientras se utiliza git y gitflow, en especial para trabajos colaborativos.
## Requerimientos ## Requerimientos
@ -14,27 +15,148 @@ El proposito del siguiente documento es aprender mientras se utiliza git y gitfl
Los siguientes pasos serian: Los siguientes pasos serian:
1.- Apuntar estas tareas en el deck de nextcloud con titulo "Taller de git y gitflow". 0.- Crear cuenta en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs).
2.- Hacer un fork repositorio docs del github la fundacion. 1.- Crear un Issue en [git DCF](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs) con el titulo "Taller de git y gitflow <nombre>" y nombre del estudiante.
3.- clonar el repositorio e implementar git flow (cambiar a la rama develop). 2.- Hacer un Fork del repositorio [docs](https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs) del git la fundacion.
7.- Asociar el git flow feature a tu espacio personal en hackmd, editarlo con todos los procesos que se hicieron en los puntos anteriores, 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)
8.- terminar el feature y hacer push con los cambios ya en la rama develop. Cuando tengas tu VPN y Shell podras iniciar sesion y dentro entrar al team1 y al
4.- Crear un documento con el nombre gitflowCheetSheet.md en la rama develop, con in indice propuesto y hacer un push ```shell
$ git clone https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs
```
5.- Asociar la rama develop y el documento a hackmd.io Entramos al proyecto git clonado en la maquina y vamos al archivo correspondiente en la ruta: docs/posts/socialserv/
6.- Clonar el repo a tu usuario personal en github, clonarlo en tu maquina, utilizar gitflow para crear una rama git flow feature. ```shell
$ cd docs
```
9.- Solicitar merge request al proyecto en github de la fundacion, rama develop. 4.- Abrimos el Feature a partir de la la rama develop
para esto debemos pasarnos a la rama develop con el comando:
10.- hacer un git flow release (con ayuda del admin de la rama). ```shell
$ git checkout develop
11.- hacer un hotfix con las actualizacion de la documentacion de los procesos anteriores en el documento. $ $ 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
# 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 <comando>` - Mostrar la ayuda sobre el comando especificado.
```
Puedes agregar, editar o mejorar el documento asi como estudiar el cheetsheet de gitflow y de gitlab.
>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
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**
Con esto agregamos el archivo o archivos modificados al area de preparacion.
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.
```shell
$ git commit -m "Mensaje"
```
> Aclara que se modifico, agrego o mejoro en el commit brevemente pero conciso.
5.- Al terminar el Feature debemos hacer el push con referencia.
```shell
git push origin feature
```
Esto enviará los cambios de la rama **feature** al repositorio remoto llamado **origin**. Asegúrate de reemplazar "feature" con el nombre de tu rama.
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.
```sh
$ git flow feature pull origin MYFEATURE #MYFEATURE se reemplaza por el nombre que le pusiste al feature.
$ git feature finish
```
Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando:
```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.
```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 ~ Dispositivos] 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
@ -52,3 +174,4 @@ Link Hackmd a Git: https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github
Manual de markdown: https://hackmd.io/c/tutorials/%2Fs%2Fhow-to-create-book. Manual de markdown: https://hackmd.io/c/tutorials/%2Fs%2Fhow-to-create-book.
Cheatsheet de vim: https://devhints.io/vim