start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
start [2023/06/06 00:18] – [Arreglar conflictos] Santiago Faci | start [2024/11/01 19:25] (current) – [Pull Requests] Santiago Faci | ||
---|---|---|---|
Line 18: | Line 18: | ||
<code bash> | <code bash> | ||
santi@zenbook: | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | En el caso de que uséis macOS, lo más sencillo es instalarlo usando brew (https:// | ||
+ | |||
+ | <code bash> | ||
+ | # Instalar primero brew si no se ha hecho antes | ||
+ | santi@zenboo: | ||
+ | # Instalar git usando brew | ||
+ | santi@zenbook: | ||
</ | </ | ||
Line 116: | Line 125: | ||
{{ youtube> | {{ youtube> | ||
\\ | \\ | ||
+ | |||
+ | ===== El fichero README ===== | ||
+ | |||
+ | Es un fichero, que podemos escribir en síntaxis // | ||
+ | |||
+ | * Título del proyecto | ||
+ | * Descripción del proyecto | ||
+ | * Requisitos para la instalación | ||
+ | * Guía rápida de instalación (y si hay más documentación se enlaza aqui, por ejemplo a la Wiki del proyecto) | ||
+ | * Enlace a la web (si la hay) | ||
+ | * Información sobre los autores del proyecto | ||
+ | |||
+ | Hay que tener en cuenta la importancia de este fichero ya que es la primera descripción que un usuario encontrará cuando acceda a nuestro repositorio | ||
+ | |||
+ | ===== El gestor de incidencias ===== | ||
+ | |||
+ | El gestor de incidencias (// | ||
+ | |||
+ | Lo más importante a la hora de registrar una incidencia es asignarle un título y descripción para que sea fácil de encontrar y reproducir por quién tenga que resolverla (incluso aunque sea uno mismo, no siempre se pueden resolver las incidencias en el momento de encontrarlas y más tarde quizás olvidemos algún detalle). Menos importante pero interesante será definir la inmportancia de la //issue// (ayudará a priorizar) y el tipo de incidencia: | ||
+ | * **bug**: Un fallo que se ha localizado en el código | ||
+ | * **enhancement**: | ||
+ | * **proposal**: | ||
+ | * **task**: Una tarea que debe realizarse. No tiene porque ir asociada a ningún problema o bug de código | ||
+ | |||
+ | También podemos adjuntar algún fichero, como por ejemplo capturas que ayuden a detectar o comprender mejor el problema. | ||
+ | |||
+ | Por último, la incidencia puede ser directamente asignada a un usuario (incluso a uno mismo). En caso de que no se sepa quién debe realizarla se puede dejar en blanco esperando que el responsable decida quién la tiene que corregir. | ||
+ | |||
+ | La vista de incidencias tiene filtros automáticos que permiten localizar las incidencias rapidamente por su estado. | ||
+ | |||
+ | Además, el gestor de incidencias de GitHub permite realizar ciertas gestiones sobre las mismas utilizando una serie de comandos que directamente pueden ser aplicados cuando se realizan los //commit// sobre el código con el comando //git//. Una lista de los comandos y opciones disponibles se puede encontrar [[https:// | ||
+ | |||
+ | Por ejemplo, si tenemos una incidencia abierta con el número #13 que hace referencia a un //bug// en cierta parte del código, cuando resolvamos el error y nos dispongamos a hacer el //commit// que soluciona dicho problema, podemos ejecutar ese comando de la siguiente forma: | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | De esta forma, la incidencia con el número #13 será automáticamente marcada como resuelta sin que tengamos que acceder con el navegador al gestor de incidencias y resolverla manualmente a través de la web. Además, el mensaje del //commit// quedará asociado como mensaje de resolución de dicha incidencia. | ||
+ | |||
+ | ===== La Wiki ===== | ||
+ | |||
+ | Siempe que creemos por primera vez un repositorio en GitHub tendremos la oportunidad de decidir si queremos que se integre una Wiki con él. | ||
+ | |||
+ | A través de la Wiki podremos crear documentación asociada a nuestro proyecto/ | ||
===== Descargar un repositorio y actualizarlo ===== | ===== Descargar un repositorio y actualizarlo ===== | ||
Line 122: | Line 176: | ||
<code bash> | <code bash> | ||
- | santi@zenbook: | + | santi@zenbook: |
+ | </ | ||
+ | |||
+ | Ahora podemos trabajar en el proyecto | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook:/ | ||
+ | santi@zenbook:/ | ||
+ | . . . | ||
+ | . . . | ||
</ | </ | ||
Line 128: | Line 191: | ||
\\ | \\ | ||
+ | ===== Arreglar conflictos ===== | ||
+ | |||
+ | Cuando dos programadores trabajan sobre el mismo fichero de código, se puede llegar a producir un conflicto. | ||
+ | |||
+ | Supongamos un fichero sobre el que un programador ha hecho algún cambio que ha subido al repositorio remoto. Cuando un segundo programador intente subir un cambio sobre ese mismo fichero, se producirá un conflicto en el momento en que éste intente poner al día su repositorio ('' | ||
+ | |||
+ | El segundo programador tendrá que arreglar el conflicto antes de poder subir definitivamente su cambio (tras la decisión que haya tomado acerca de cómo fusionar su parte con la de su compañero). | ||
+ | |||
+ | {{ youtube> | ||
+ | \\ | ||
+ | |||
+ | ===== Revisión de código y Pull Requests ===== | ||
---- | ---- | ||
Line 141: | Line 216: | ||
< | < | ||
</ | </ | ||
+ | |||
+ | {{ youtube> | ||
+ | \\ | ||
Asi, a medida que se necesiten desarrollar nuevas funcionalidades (// | Asi, a medida que se necesiten desarrollar nuevas funcionalidades (// | ||
Line 148: | Line 226: | ||
< | < | ||
</ | </ | ||
+ | |||
+ | {{ youtube> | ||
+ | \\ | ||
Cuando llega el momento de liberar una nueva versión, se crea una nueva rama con el objetivo de comenzar el ciclo de liberación. Ya no es posible incorporar nuevas funcionalidades a esta nueva rama (nueva // | Cuando llega el momento de liberar una nueva versión, se crea una nueva rama con el objetivo de comenzar el ciclo de liberación. Ya no es posible incorporar nuevas funcionalidades a esta nueva rama (nueva // | ||
Line 158: | Line 239: | ||
Si nos fijamos en el flujo de trabajo, veremos que es posible que, mientras una parte del equipo trabaja en liberar y preparar la nueva versión, otra parte del mismo puede seguir trabajando, al mismo tiempo, en las nuevas funcionalidades de la siguiente versión. | Si nos fijamos en el flujo de trabajo, veremos que es posible que, mientras una parte del equipo trabaja en liberar y preparar la nueva versión, otra parte del mismo puede seguir trabajando, al mismo tiempo, en las nuevas funcionalidades de la siguiente versión. | ||
- | ===== Preparar el repositorio para trabajar con GitFlow ===== | ||
- | {{ youtube> | ||
- | \\ | ||
- | |||
- | ===== Crear una nueva feature y fusionarla con develop usando Pull Request ===== | ||
- | |||
- | {{ youtube> | ||
- | \\ | ||
Line 235: | Line 308: | ||
santi@zenbook: | santi@zenbook: | ||
</ | </ | ||
+ | |||
+ | ===== Fusionar ramas via Pull Request ===== | ||
===== Eliminar un fichero del repositorio remoto ===== | ===== Eliminar un fichero del repositorio remoto ===== | ||
Line 371: | Line 446: | ||
</ | </ | ||
- | ===== Arreglar conflictos ===== | ||
- | |||
- | Cuando dos programadores trabajan sobre el mismo fichero de código, se puede llegar a producir un conflicto. | ||
- | |||
- | Supongamos un fichero sobre el que un programador ha hecho algún cambio que ha subido al repositorio remoto. Cuando un segundo programador intente subir un cambio sobre ese mismo fichero, se producirá un conflicto en el momento en que éste intente poner al día su repositorio ('' | ||
- | |||
- | El segundo programador tendrá que arreglar el conflicto antes de poder subir definitivamente su cambio (tras la decisión que haya tomado acerca de cómo fusionar su parte con la de su compañero). | ||
- | |||
- | {{ youtube> | ||
- | \\ | ||
---- | ---- | ||
(c) 2020-{{date> | (c) 2020-{{date> |
start.1686010683.txt.gz · Last modified: 2023/06/06 00:18 by Santiago Faci