Git: comandos necesarios para empezar
Con este documento quiero hacer una lista de los comandos más útiles de git, hay muchos más y muchas combinaciones y atributos. No dudes en consultar la documentación oficial.
Contenido
Principales comandos de Git
git –version
este comando permite obtener la versión que estamos usando actualmente, en caso de no reconocer el comando es muy posible que no lo tengas instalado.
git help
Obtener ayuda a la hora de conocer los comandos. Si deseas más información de un comando en concreto, por ejemplo el add:
git help add
git config
Para configurar las variables de configuración:
git config --global user.name "Alex Medina"
git config --global user.email "[email protected]"
Para consultar las variables:
git config user.name
Para comprobar las variables globales que tienes guardadas en este momento en el archivo de configuración:
git config --global -e
git init
crea el repositorio.
git add
Para añadir cambios antes de ejecutar un commit, puedes indicar un nombre de fichero o poner . para que sean todos.
git add .
warning: LF will be replaced by CRLF in package.json
Si has obtenido este warning:
warning: LF will be replaced by CRLF in package.json. The file will have its original line endings in your working directory
Puedes ejecutar:
git config core.autocrlf true
git reset
Para quitar el último add añadido o para volver a un commit olvidando los demás:
git reset --mixed 34345435 # mueve a este commit git reset --soft 34345435 # mueve a este commit git reset --hard 34345435 # mueve a este commit
git commit
Para guardar los cambios y crear el registro de guardado.
git commit -m "initial commit"
Para modificar el mensaje de un commit:
git commit --amend -m "nuevo mensaje"
git commit && git add
git commit -am "commit y add juntos a la vez"
git status
Para obtener el estado de los cambios
git status -sb
git log
Para obtener la lista de cambios y acciones
git log --oneline
git diff
Para mostrar los cambios entre commits
git checkout
Para navegar entre los commits o ramas:
git checkout nombre_rama // vas a la rama nombre_rama git checkout master // vuelves a master
Crea una rama llamada «nueva_rama» y te cambias a ella (git branch + git checkout):
git checkout -b feature_x
Moverte a un commit
git checkout hash_de_commit
Moverte a un commit solo de un fichero llamado fichero.php
git checkout hash_de_commit fichero.php
Para deshacer cambios que no han pasado al staged (que no hayas hecho todavía commit) del fichero
git diff // para ver los ficheros con cambios... en este caso queremos deshacer fichero.php git checkout -- fichero.php
Ramas en Git
git branch
Para crear una rama en git
git branch nombrerama
Para ir a una rama
git checkout nombrerama
Para borrar rama:
git branch -D nombrerama
Para ver todas las ramas:
git branch -a
git merge
Para unir la rama al master y fusionar los cambios
git merge nombrerama
Hay tres tipos de merge:
- fast forward: se encarga git de incorporar los cambios
- merge automático: se encarga git de mezclar los cambios
- con conflictos: tienes que elegir los cambios desde el editor
git rebase
Coloca el master como base de la rama en la que estemos trabajando, colocar en el punto donde creamos la rama.
git rebase master
Creación de Alias
A veces para hacernos la vida más fácil y no escribir completamente todos los comandos una y otra vez podemos crear alias. Por ejemplo:
git config --global alias.lg "log --oneline --decorate --all --graph" git lg git config --global alias.s "status -s -b" git s
Tags en Git
Para crear:
git tag nombre git tag -a v1.0.0 -m "version 1.0.0"
Para verlos todos:
git tag
Crear fichero .gitignore
El fichero .gitignore nos permite crear una lista de archivos, directorios, extensiones, etc.. que no se podrán incorporar en los commits, muy útil para cuando hacemos adds globales de todos los cambios. El contenido del archivo podría ser:
node_modules/ dist/ *.log
Web oficial
Para consultar más en la página oficial: https://git-scm.com/doc