Comandos de Git
Git es un interprete de comandos tambien.
Los comandos debes ejecutarlos en tu directorio de repositorios. En
el caso de texto-plano.xyz es ~/public_repos
.
Establecer un repositorio
|
|
git init |
Inicializa un nuevo repositorio Git. |
git clone url_repositorio |
Clona un repositorio existente desde una URL. |
Configurar Git
|
|
git config --global user.name "$USER" |
Configura tu nombre. |
git config --global user.email "$USER@texto-plano.xyz" |
Configura tu direccion de correo electronico del repositorio. |
git config --global core.editor emacs |
Configura el editor por defecto de Git: vim , nano , emacs |
git config --list |
Lista todas las configuraciones del git |
Instantaneas basicas
|
|
git add fichero |
Prepara cambios para el commit |
git add . |
Prepara todos los cambios en el directorio para el commit |
git commit -m "Tu mensaje" |
Hace el commit de los cambios preparados con un mensaje |
git status |
Muestra el status del directorio de trabajo de git. |
git log |
Muestra el historial del commit |
git diff |
Muestra el historial de cambios en los ficheros que aun no fueron peparados |
git diff --staged |
Muestra cambios entre el area de preparacion y el ultimo commit |
git rm fichero |
Borra un fichero del directorio de trabajo y del area de preparacion |
Ramas y Unificaciones
|
|
git branch |
Lista las ramas |
git branch nueva-rama |
Crea una rama nueva llamada nueva-rama |
git checkout rama |
Cambia a una rama diferente |
git checkout -b nueva-rama |
Crea una nueva rama y cambia a ella. |
git merge rama |
Une una rama a la rama actual |
git branch -d rama |
Borra una rama (solo si la ha unificado |
git branch -D rama |
Borrado forzado de una rama (incluso si no esta unificada) |
Deshacer cambios
|
|
git reset --hard HEAD |
descarta todos los cambios locales |
git checkout -- fichero |
descarta los cambios en el fichero especificado |
git revert id-commit |
Crea una nueva commit que deshaga los cambios realizados por la commit especificada. |
git reset id-commit |
Mueve el puntero de rama actual a una commit previa (reseteo suave) |
git reset --hard id-commit |
Resetea a una commit previa descartando todos los cambios posteriores a la misma |
Trabajando con Remotos
|
|
git remote add origin url_repo |
Agrega un repositorio remoto |
git remote -v |
Lista los repositorios remotos |
git fetch |
Descarga los objetos y referencias de un repositorio remoto |
git pull |
Consigue y unifica los cambios referenciando desde el repositorio remoto |
git push origin rama |
Envia una rama al repositorio remoto |
git push origin --delete rama |
Borra una rama remota |
Almacenando cambios
|
|
git stash |
Almacena temporalmente los cambios en un directorios de trabajo sucio |
git stash list |
Lista todos los cambios almacenados temporalmente |
git stash apply |
Aplica el almacen temporal mas reciente |
git stash apply stash@{ indice} |
Aplica un almacen temporal especifico |
git stash drop |
Remueve el almacen temporal mas reciente |
stash pop |
Aplica y remueve el almacen temporal mas reciente |
Etiquetado
|
|
git tag etiqueta |
Crea una etiqueta nueva para el repositorio |
git tag |
Lista todas las etiquetas del repositorio |
git show etiqueta |
Muestra los detalles de una etiqueta |
git push origin etiqueta |
Envia una etiqueta al repositorio remoto |
Ver diferencias
|
|
git diff |
Muestra cambios entre el directorios de trabajo y el indice |
git diff HEAD |
Muestra los cambios entre el directorio de trabajo y el ultimo commit |
git diff rama |
Muestra los cambios entre la rama actual y otra rama |
Inspeccionar y comparar
|
|
git show id-commit |
Muestra detalles de un commit especifico |
git log --oneline --graph --decorate --all |
Muestra un registro grafico de commits |
git blame fichero |
Muestra que revision y autor modifico por ultima vez cada linea de un fichero |
git shortlog |
Resume historial de commits por autor |
Colaboracion y revision
|
|
git fetch origin |
Recoge cambios desde el repositorio remoto. |
git pull origin rama |
Trae los cambios desde la rama remota y la unifica |
git push origin rama |
Envia una rama local al repositorio remoto |
git cherry-pick //id-commit'' |
Aplica los cambios desde una commit especifica |
Limpieza
|
|
git clean -f |
Remueve ficheros no rastreados del directorio de trabajo |
git clean -fd |
Remueve ficheros no rastrados y directorios |
git gc |
Optimiza el repositorio comprimiendo la historia de ficheros |