GIT es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.
Linus Torvalds se por que lo inventó ya que trabaje sin esta herramienta y es un problema.
Como pude trabajar sin esta herramienta
Resumen Express de Comandos GIT
git fetch:
Descarga los cambios realizados en el repositorio remoto.
git merge :
Impacta en la rama en la que te encuentras parado, los cambios realizados en la rama “nombre_rama”.
git pull:
Unifica los comandos fetch y merge en un único comando.
git commit -am «»:
Confirma los cambios realizados. El “mensaje” generalmente se usa para asociar al commit una breve descripción de los cambios realizados.
git push origin :
Sube la rama “nombre_rama” al servidor remoto.
git status:
Muestra el estado actual de la rama, como los cambios que hay sin commitear.
git add :
Comienza a trackear el archivo “nombre_archivo”.
yo realizo lo siguiente para agregar todo: git add .
git checkout -b :
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 esta última.
git checkout -t origin/:
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 branch:
Lista todas las ramas locales.
git branch -a:
Lista todas las ramas locales y remotas.
git branch -d :
Elimina la rama local con el nombre “nombre_rama”.
git push origin :
Commitea los cambios desde el branch local origin al branch “nombre_rama”.
git remote prune origin:
Actualiza tu repositorio remoto en caso que algún otro desarrollador haya eliminado alguna rama remota.
git reset –hard HEAD:
Elimina los cambios realizados que aún no se hayan hecho commit.
git revert :
Revierte el commit realizado, identificado por el “hash_commit”.
Buenas prácticas en el Uso de GIT
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é desarrollada, 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.