git
Git básico
Configuración
- Ver la configuración
git config -l
- Configurar nombre
git config --global user.name "Roberto Hernando"
- Configurar correo
git config --global user.email "hervelro@jcyl.es"
Comandos básicos
- Añadir ficheros al repositorio local
git add readme.md
git add .
- Subir últimos cambios al repositorio local
git commit -m "Comentario"
- Ver información del repositorio
git status
- Ver los cambios:
git log
de forma detallada:
git log --patch
- No se quiere subir algún cambio (unstaging) en el próximo commit:
git reset HEAD readme.md
para volverlo a añadir al commit siguiente, se usaría
git add
.
Directorios
Git no versiona directorios, solo ficheros.
[!TIP] Directorios vacíos
Si se quiere tener un directorio vacío en el repositorio, para que git lo tenga en cuenta, lo que se hace es añadir en el directorio un fichero vacío llamado.gitkeep
Ficheros no versionados
Mediante el fichero .gitignore
le podemos indicar a git qué ficheros no queremos que sean versionados en el repositorio.
Ramas
- Creación de una nueva rama
git checkout -b <nombre_rama>
- Cambiar de rama
git checkout <nombre_rama>
Fusión de ramas
git merge <rama_desde_la_que_se_fusiona>
Rebasamiento de commits
Lo que se hace es tomar los commits de otra rama (habitualmente será el master) y después hacer commit de los cambios en la rama actual. Es como resincronizar el trabajo de nuestra rama con lo que se está haciendo en la rama principal.
Evita muchos conflictos al fusionar las ramas.
git rebase master
Resolución de conflictos al fusionar ramas
Para interrumpir un merge que dé problemas (porque queremos seguir trabajando y resolverlo posteriormente):
git merge --abort
Ídem para git rebase
Una vez que se ha resuelto el conflicto, es suficiente con hacer git add
del fichero corregido y hacer commit.
Gitlab
En https://gitlab.com/ tengo el usuario robertohernando
, donde puedo hacer pruebas.
Es necesario generar una clave SSH para poder conectarse (ver https://docs.gitlab.com/ee/user/ssh.html).
Subiendo cambios a un repositorio Gitlab
Referencias
- Udemy - Introduction to Git for Gitlab