- Hacer un fork del proyecto. Del proyecto del cual quiero contribuir (Me voy copiar en mi cuenta el repo del proyecto original)
- Me clono el fork desde mi cuenta github
- Trabajo normalmente. Subo los cambios (A repo propio)
- Me voy al proyecto original en el apartado Pull Request. Creo un nuevo Pull Request. Algunas veces aparece en mi repo la posibilidad Pull Request.
-
Voy a la cuenta del proyecto original y me copio la url del repositorio
-
Y agrego en mi repositorio local, la url (el remoto) del proyecto original.
git remote add upstream <url-del-repositorio-original>
git remote -v
- Me traigo los cambios del repositorio original a mi repo local
git pull upstream main
- Subo a mi repositorio remoto (Fork) las actualizaciones del repo local
git push
Me trae la metada (O sea me actualiza la información dentro de la carpeta .git) pero no aplica los cambios automaticamente. Nos permite ver los cambios que ocurrien en el remoto y decidir luego que quiero hacer. Si los incomporo total o parcial.
El hacer primero un fetch y luego trae los cambios automaticamente. Es la combinación de fetch y pull. Trae la metada y trae los cambios en las ramas correspientes.
Me permite traerme un commit o conjunto de commit de una rama en particular a otra rama
git cherry-pick Me incluye los commit extremos seleccionados
git cherry-pick ^.. No me incluye los extremos. Los bordes
git cherry-pick ..
git tag -a v3.0.0 -m "Versión 3.0.0" # tag anotado (a)
git tag -a v3.0.0 <HASH> -m "Versión 3.0.0" # tag anotado (a)
git tag