From b72016a678d65fa1b8d5d130eab8fd766e31163f Mon Sep 17 00:00:00 2001 From: HackMD <37423+hackmd-hub[bot]@users.noreply.github.com> Date: Mon, 20 Feb 2023 17:15:08 +0000 Subject: [PATCH] last changed at Feb 20, 2023 11:09 AM, pushed by PaganoBerserker --- gitflowCheetSheet.md | 181 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 gitflowCheetSheet.md diff --git a/gitflowCheetSheet.md b/gitflowCheetSheet.md new file mode 100644 index 0000000..5aad55f --- /dev/null +++ b/gitflowCheetSheet.md @@ -0,0 +1,181 @@ +# CURSO DE GIT Y GITFLOW + + + +## GIT + +--- + +### Comandos de Git basicos o frecuentes + + +```shell + +$ git init: Crear un nuevo git + +$ git add: Agregar archivos al area de preparacion + +$ git status: Estado del repositorio + +$ git: commit -m pasar archivos del area de preparacion al repositorio local + +$ git log: ver las versiones de archivos del repositorio + +$ git clone: clonar un repositorio remoto + +$ git push: modificar el repositorio remoto, con su nueva actualizacion + +$ git pull: actualizar tu repositorio local con la ultima version del remoto + +$ git add . sirve para agregar todos los archivos modificados al area de preparacion + +``` + +--- + +## GIT FLOW +--- + +### Instalar en linux debian +Para instalar git flow, se requiere tener previamente git, y se executan los siguientes comandos en tu terminal ya sea con sudo o como root. + +``` + +$ sudo apt-get update + +$ sudo apt-get install git-flow + +``` + + + +### INICIALIZAR +Una vez que estas dentro de tu directorio git o repositorio clonado, inicializa el git flow: +``` + +$ git flow init + +``` + +### RAMAS DE GIT FLOW + +![](https://www.campingcoder.com/post/20180412-git-flow.png) + +--- + +* **Master**: Rama principal que mantiene la version estable de un software. +* **Develop**: Rama que se utiliza por uno o varios programadores para un software en modo pruebas. +* **Feature**: Rama temporal o local, que sirve para que cada programador desarrolle alguna funcion especifica (Libreria, funcion, clase, etc.). +* **Release**: Rama temporal solo para publicar las etiquetas de versiones y sincronizar develop con master, esto se hace cuando tenemos una version estable de software o un punto para entregable. +* **Hotfix**: Rama temporal que se utiliza para arreglar errores criticos o bugs en el codigo de produccion, generalmente se utiliza en modo de emergencia. + + +#### FEATURES + + +--- + + +**1. COMENZAR UNA CARACTERISTICA (FEATURE)** + +``` +git flow feature start MYFEATURE + +``` +--- + +**2. FINALIZAR UNA CARACTERISTICA** + +``` + +git flow feature finish MYFEACTURE Finaliza el desarrollo de una cacteristica. + +OBTENIENDO CARACTERISTICAS PUBLICADAS + +git flow feature pull origin MYFEATURE Obten una caracteristica publicada por otro. + +git flow feature track MYFEACTURE Puedes mantener un seguimiento de tus cambios. + + +``` + +#### RELEASE +--- + +**COMO PUBLICAR UNA VERSION** + + +``` + + +git flow release start 1.0 + +git flow release publish 1.0 + +git flow release finish 1.0 + +git push oirigin --all --follow-tags + + +``` + +--- + +#### HOTFIX + +--- + +**COMO PUBLICAR HACER UN HOTFIX** + +``` + +git checkout develop + +git pull + +git checkout master + +git pull + +git flow hotfix star (Nombre) + +Hacer cambios + +git status (verifique el archivo de color rojo) + +git add . (agregar archivos) + +git commit -m 'Escribe un comentario' + +git flow hotfix finish (name) + +Recuerda poner una etiqueta de versiĆ³n fija 1.2.x por ejemplo 1.2.2 +estabas en el maestro, y luego debes estar en la rama de desarrollo + + +git push origin --all --follow-tags + +``` + +## LICENSE + +``` +Copyright (C) 2023 DECENTRALIZED CLIMATE FOUNDATION A.C. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled "GNU +Free Documentation License". +``` + +## CONTACTO Y DESARROLLADORES + +> Work developed in collaboration with the [Decentralized Climate Foundation](https://decentralizedclimate.org). + +- [Gustavo Bermudez] (nizaries44@gmail.com) + +## REFERENCIAS +\[1\] Daniel Kummer, "Git-flow cheatsheet", https://danielkummer.github.io/git-flow-cheatsheet/, 2023. + +\[2\] www.campingcoder.com, "How to use git flow", https://www.campingcoder.com/2018/04/how-to-use-git-flow/, 2023.