Terminología
Sistema de control de versiones VCS
Un sistema de control de versiones (abreviado como VCS ) es una herramienta que administra diferentes versiones del código fuente. Git es un SCM. https://git-scm.com.
Confirmar (instantánea)
Git piensa en sus datos como un conjunto de instantáneas de un mini sistema de archivos. Cada vez que guardas el estado de tu proyecto en Git, básicamente toma un imagen de cómo se ven todos sus archivos en ese momento y almacena una referencia a ese instantánea.
Repositorio (repo)
Es un directorio que contiene el trabajo de su proyecto, así como algunos archivos que se utilizan para comunicarse con Git. Los repositorios pueden existir localmente en su computadora o como una copia remota en otra computadora.
Directorio de trabajo
Los archivos que ve en el sistema de archivos de su computadora. Cuando abre sus archivos de proyecto en un editor de código, está trabajando con archivos en el Directorio de trabajo.
Área de preparación
Un archivo en el directorio de Git que almacena información sobre lo que se incluirá en su próxima confirmación para ser agregados al repositorio.
Checkout
Cuando el contenido en el repositorio se ha copiado al Directorio de trabajo. Es posible sacar muchas cosas de un repositorio; un archivo, un commit, una rama, etc.
SHA
Un SHA es básicamente un número de ID para cada confirmación. Es una cadena de 40 caracteres compuesta por caracteres (0–9 y a — f) y calculada en función del contenido de un archivo en Git. Un SHA podría tener este aspecto:
e2adf8ae3e2e4ed40add75cc44cf9d0a869afeb6
Rama
Una rama es una nueva línea de desarrollo que se aparta de la línea principal de desarrollo. Esta línea alternativa de desarrollo puede continuar sin alterar la línea principal.
Áreas de GIT
Las 3 áreas que existen de git son:
- Working directory
El ambiente local donde se realizan los cambios.
- Staging area
Donde se agregan los archivos para el guardado.
- Repository
El proyecto está almacenado en la nube.
Comandos principales
git add.
git commit -m “Mensaje”
git push origin “nombre de rama”
git pull origin master
git status
git checkout “nombre de rama”
git branch “nombre de rama”
Flujo de GIT
Este flujo yo lo uso y lo recomiendo para realizar cambios en un repositorio con varias personas.
git pull origin master -> Actualizar
git checkout -b klupera -> Crea se cambia a la nueva rama
Desarrollar funcionalidad
git status -> Permite comprobar qué archivos han sido modificados, eliminados o agregados.
git add <ruta-archivo> -> Agrega los archivos modificados al Staging area
git add . -> Agrega todos los archivos modificados para ser enviados al repositorio
git status -> Permite comprobar qué archivos han sido
git commit -m ‘Nombre de la tarea — *cambio adicional*’ ->Registra los cambios en el repositorio
git push origin klupera -> Actualizar el repositorio con los cambios incluidos en el commit
Realizar una solicitud de merge. Si se aprueba el merge
- git checkout master -> Cambiar de rama
- git branch -D klupera -> Eliminar la nueva rama del ambiente local
- git push origin — delete klupera -> Eliminar la nueva rama del repositorio
En caso que no se apruebe la solicitud de merge revisar los comentarios para ver porque no es aceptado.