Skip to content
Luis Concha edited this page Nov 16, 2018 · 3 revisions

Es un sistema de control de revisiones distribuido que tiene enfásis en velocidad e integridad de datos, así como la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. Se ha convertido en el sistema de control de versiones más utilizado en el desarrollo de software.

Comandos básicos

Descarga los cambios realizados en el repositorio remoto:

git  fetch

Impacta en la rama en la que te encuentras parado, los cambios realizados en la rama “nombre_rama”:

git merge '<nombre_rama>'

Unifica los comandos ''fetch'' y ''merge'' en un único comando:

git pull

Confirma los cambios realizados: El “mensaje” generalmente se usa para asociar al ''commit'' una breve descripción de los cambios realizados:

git commit -am "<mensaje>"

Sube la rama “nombre_rama” al servidor remoto:

git push origin ''<nombre_rama>''

Muestra el estado actual de la rama, como los cambios que hay sin commitear:

git status

Comienza a trackear el archivo “nombre_archivo”:

git add ''<nombre_archivo>''

Crea una rama a partir de la que te encuentres parado con el nombre “nombre_rama_nueva”, y luego salta sobre la rama nueva, por lo que quedas parado en ésta última:

git checkout -b ''<nombre_rama_nueva>''

Si existe una rama remota de nombre “nombre_rama”, al ejecutar este comando se crea una rama local con el nombre “nombre_rama” para hacer un seguimiento de la rama remota con el mismo nombre:

git checkout -t origin/''<nombre_rama>''

Lista todas las ramas locales:

git Branch

Lista todas las ramas locales y remotas:

git branch -a

Elimina la rama local con el nombre “nombre_rama”:

git branch -d ''<nombre_rama>''

Elimina la rama remote con el nombre “nombre_rama”:

git push origin ''<nombre_rama>''

Actualiza tu repositorio remoto en caso que algún otro desarrollador haya eliminado alguna rama remota:

Elimina los cambios realizados que aún no se hayan hecho ''commit'':

git reset --hard HEAD

Revierte el ''commit'' realizado, identificado por el “hash_commit”:

git revert ''<hash_commit>''

Buenas prácticas

Cada desarrollador o equipo de desarrollo puede hacer uso de Git de la forma que le parezca conveniente: Sin embargo una buena práctica es la siguiente

Se deben utilizar 4 tipos de ramas Master, Development, Features, y Hotfix:

Master Es la rama principal: Contiene el repositorio que se encuentra publicado en producción, por lo que debe estar siempre estable:

Development Es una rama sacada de master: Es la rama de integración, todas las nuevas funcionalidades se deben integrar en esta rama: Luego que se realice la integración y se corrijan los errores (en caso de haber alguno), es decir que la rama se encuentre estable, se puede hacer un merge de development sobre la rama master.

Features Cada nueva funcionalidad se debe realizar en una rama nueva, específica para esa funcionalidad: Estas se deben sacar de development: Una vez que la funcionalidad esté pronta, se hace un merge de la rama sobre development, donde se integrará con las demás funcionalidades.

Hotfix Son bugs que surgen en producción, por lo que se deben arreglar y publicar de forma urgente: Es por ello, que son ramas sacadas de master: Una vez corregido el error, se debe hacer un merge de la rama sobre master. Al final, para que no quede desactualizada, se debe realizar el merge de master sobre development.

Clone this wiki locally