9.4 KiB
title | author | date | category | layout |
---|---|---|---|---|
Taller de Git & GitFlow | Decentralized Climate Foundation | 2023-02-22 | socialservice | post |
El proposito del siguiente documento es aprender mientras se utiliza git y gitflow, en especial para trabajos colaborativos.
Proceso
Los siguientes pasos serian:
-
Crear cuenta en git DCF{: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>. De esta forma tendras tu propia cuenta dentro de la plataforma git de DCF y clonar los repositorios de la Fundacion para contribuir.
-
Crear un Issue en git DCF{: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.
-
Hacer un Fork del repositorio 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).
-
Se debe tener un acceso a la VPN y solicitar un certiicado, Contacte al Sysadmin se sugiere el uso de OpenVPN Connect{:target="_blank"}, para el uso del certificado que se envie, tambien se sugiere el uso de MobaXterm{:target="_blank"} si eres usuario de Windous y si eres usuario de Linux o Mac os ya tienes por defecto un cliente ssh.
-
Una ves obtenido su certificado (certificado.ovpn) importarlo en la OpenVPN y encenderla.
-
En su MobaXterm o terminal preferida se siguen los siguientes comandos:
$ 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 de**
Si estas dentro de tmux para salir utiliza Ctrl+b despues apretar d para no cerrar la sesion de todo.
-
Una ves en su team clonar el siguiente repositorio:
$ git clone https://git.decentralizedclimate.org/DecentralizedClimateFoundation/docs
-
Entramos al proyecto clonado previamente en la maquina y ingresamos en la siguiente ruta: docs/
$ cd docs/
-
Inicializamos git flow con el siguiente comando, y dejamos todo por dafault:
$ 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]
-
Checamos la rama en la que estamos que tiene que ser 'develop':
$ git checkout Your branch is up to date with 'origin/develop'.
-
Sigue el Readme{:target='_blank'} para instalar y visualizar jekyll mientras continuas el taller.
-
Abrimos el Feature con el siguiente comando:
$ git flow feature start <MyFeature> #MyFeature se cambia por el nombre que quieras identificarlo
-
Entramos ala ruta siguiente dentro de 'docs/':
$ cd _posts/socialserv/
-
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.
$ 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.
# 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.
-
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:
$ 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
Con esto agregamos el archivo o archivos modificados al area de preparacion.
Despues debemos crear el commit con los cambios agregados.
-
Después de ejecuta ,
git add
puedes crear un commit utilizando el comandogit 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 :$ git commit -m 'Mensaje'
Aclara que se modifico, agrego o mejoro en el commit brevemente pero conciso.
-
Una vez echo el commit se finaliza el desarrollo del 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 -
Al terminar el Feature debemos hacer el push con referencia.
$ 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.
-
Puedes comprobar que tu commit esta ya en la rama develop cuando hagas uso del comando:
$ 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.
-
Hacer el Pull Request en el git de Decentralized Climate de la rama develop personal a la rama develop del Repositorio de DCF.
-
Exito concluiste tu Taller de Git y GitFlow. :)
CONTACTO Y DESARROLLADORES
Work developed in collaboration with the Decentralized Climate Foundation{:target="_blank"}.
Referencias
-
Cheatsheet de git flow: https://danielkummer.github.io/git-flow-cheatsheet/{:target="_blank"}, 2023-07-17.
-
Video Sobre gitflow: 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{:target="_blank"}, 2023-07-17.
-
Adam P., "Mardown Cheatsheet", https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet{:target="_blank"}, 2023-07-17.
-
Cheatsheet de vim: https://devhints.io/vim{:target="_blank"}, 2023-07-17.
-
Cheatsheet [Git & GitFlow ES]({% post_url socialserv/2023-03-15-gitflowCheetSheet_ES %}){:target="_blank"}, 2023-07-17.