Fork permite copiar un repositorio de GitHub para hacer modificaciones o extender el proyecto original. Un pull request permite solicitar que los cambios realizados en un fork se incorporen al repositorio original. Un issue representa una tarea o problema en un repositorio, y se puede resolver agregando palabras clave como "fixed" en el mensaje de confirmación.
CICLO DE DEMING que se encarga en como mejorar una empresa
Fork, Issues y Pull Requests en GitHub
1. FORK Y SOLUCIÓN DE ISSUES
EN UN REPOSITORIO
GITHUB
ANDRES FERNANDO MORALES GONZALEZ
2. ¿QUÉ ES UN FORK?
Es hacerle copia a un
repositorio de un
proyecto, para generar
nuevos versiones
basadas en la versión
original de ese
proyecto.
3. ¿PARA QUE SIRVE UN FORK?
• Crear un nuevo proyecto basado en el original
• Hacer una copia del proyecto original
• Corregir Bugs
• Hacer solicitudes pull al proyecto original
4. ¿CÓMO HACER FORK EN GITHUB?
1. Entrar a GitHub e ir al repositorio que se le quiere hacer fork,
darle en el botón Fork.
5. ¿CÓMO HACER FORK EN GITHUB?
GitHub procederá a crear una copia del repositorio en la cuenta
propia.
6. ¿CÓMO HACER FORK EN GITHUB?
2. Clonar el repositorio copiado en la cuenta propia a el
computador usando el link dado en GitHub y la consola de
comandos.
git clone https://github.com/{username}/{projectname}.git
7. ¿CÓMO HACER FORK EN GITHUB?
3. Agregar la referencia del repositorio remoto original al repositorio
local usando el siguiente comando:
git remote add upstream
https://github.com/{ownername}/{projectname}
upstream es el nombre para el repositorio remoto que se agregara y
el link es el del repositorio remoto original.
Para verificar los repositorios remotos agregados se usa el comando
git remote –v
8. ¿CÓMO HACER FORK EN GITHUB?
De esta forma ya se tendría el repositorio descargado para poder crear
nuevos proyectos y la referencia el repositorio original para hacer pull
request.
Para actualizar el repositorio local usando el repositorio remoto original,
se puede usar los siguientes comandos:
git fetch upstream (descarga lo ultimo del repositorio original)
git merge upstream/master (une los cambios al repositorio local)
Otra forma es:
git pull upstream master
9. ¿CÓMO HACER UN PULL REQUEST?
Un pull request es una petición que el propietario de un fork de
un repositorio hace al propietario del repositorio original para
que este último incorpore los commits que están en el fork.
10. ¿CÓMO HACER UN PULL REQUEST?
1. Se crea un Branch diferente al principal (master) en el
repositorio propio local, el cual contendrá los cambios (commits)
que se van a solicitar agregar al repositorio original:
git checkout –b {branchname}
11. ¿CÓMO HACER UN PULL REQUEST?
2. Se realizan los cambios que se quieren agregar al repositorio
original de la forma que ya se conoce:
git add –A // git add . // git add {file} …
git commit –m “{message}”
git push origin {branchname}
De esta forma se suben los cambios hechos en el nuevo Branch a
el repositorio remoto copiado anteriormente en nuestra cuenta
(Fork).
12. ¿CÓMO HACER UN PULL REQUEST?
3. Dirigirse a la pagina de GitHub del repositorio (Fork) de la
cuenta propia y en Branch se selecciona el Branch creado que
contiene los commits que se solicitaran agregar al repositorio
original y se da click en new pull request:
13. ¿CÓMO HACER
UN PULL
REQUEST?
4. Se selecciona: el
repositorio de
destino, el Branch
de destino al que se
hará el pull request,
el Branch propio que
contiene los
cambios y se ponen
los comentarios
necesarios y se
14. ¿CÓMO HACER UN PULL REQUEST?
Luego de hacer esto, ya se
puede observar el pull request
en el repositorio original
esperando a que sea
aprobado por el propietario.
15. ISSUE GITHUB
Un Issue es una unidad de trabajo designada a una o
varias personas. Esta unidad de trabajo puede ser un
bug, una nueva característica solicitada, una solicitud
de documentación, entre otras…
16. ¿COMO SE RESUELVE UN ISSUE?
Para resolver un issue es tan simple
como añadir las siguientes palabras
acompañadas de #{numero del
issue} en el cuerpo del mensaje del
commit. Ejemplo git commit –m
“arreglado fixed #1”
close
closes
closed
fix
fixes
fixed
resolve
resolves
resolved
17. BIBLIOGRAFÍA
• Pull Request: http://aprendegit.com/que-es-un-pull-request/
• Close issue with commit:
https://help.github.com/articles/closing-issues-using-
keywords/
• Fork: https://help.github.com/articles/fork-a-repo/