Git
Es un sistema de control de versiones de código.
Repositorio
Todo proyecto que está siendo seguido por git.
Commit
Es cada cambio registrado en el historial de git.
Ramas
Son bifurcaciones del proyecto.
Siempre hay una rama principal que es la que da cara al cliente (producción).
Clon
Copia exacta del repositorio.
Fork
Es un repositorio de un proyecto que se crea a partir de otro
Flujo de trabajo
El programador saca una copia del repositorio en su computadora de la rama "Dev".
git init: Si es un repositorio para proyecto nuevo.
git clone: Si es una copia del repositorio para proyecto existente.
git clone {urlRepositorio}
Cada vez que se envie un cambio se debe adicionar.
Esta pasa a una capa intermedia "Stagin Area" en una zona de espera antes de pasar a la rama principal.
git add nombrearchivo.ext
git add .
Debemos revisar constantemente los cambios de cada archivo que vayamos a trabajar.
git status
git status -s
Luego de estar seguros pasamos a cargar los cambios al repositorio "Master"
git commit -m "Comentario sin caracter especial"
Flujo en Equipo
Cada cambio pasa por supervisión antes de ser unidos a la Rama Dev.
git merge
Una vez pasados podemos eliminar la rama.
git branch -d
Se debe trabajar un archivo .gitignore el que contiene la lista de archivos o carpetas ignorados para el versionamiento.
Para visualizar el historial de cambios es por logs.
git log --online
Para volver a una versión anterior.
git reset --hard
Para enviar cambios a repositorios remotos al inicio debemos especificarlo.
git remote add origin {urlrepositorio}
git push -u origin master
Luego con cada cambio realizado en nuestro repositorio local se podrá respaldar en el repositorio remoto.
git push
En caso quisieramos bajar los archivos modificados en el repositorio remoto a nuestro repositorio local.
git pull
Herramientas
El acceso es por líneas de comando (Terminal). Instalando la aplicación desde https://git-scm.com
Otros clientes gráficos son:
- Gitkraken
- Sourcetree
- Github desktop
Repositorios en la nube
Son repositorios para equipos de trabajo desentralizados (en diferentes ubicaciones)
- Github
- Bitbucket
- Gitlab
IDEs
La herramienta esta integrado a diferentes editores de código.
Entre los más representativos esta IntelliJ Idea por tener una interfaz más vistosa.
Resumen
Si este artículo te sirvió agradecería puedas apoyarme con un café.