Comandos de Git
Git es un intérprete de comandos también.
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 dirección de correo electrónico 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 |
Instantáneas básicas
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 aún no fueron peparados |
git diff –staged | Muestra cambios entre el área de preparación y el último commit |
git rm fichero | Borra un fichero del directorio de trabajo y del área de preparación |
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 está 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 | Envía 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 almacén temporal mas reciente |
git stash apply stash@{ índice} | Aplica un almacén temporal específico |
git stash drop | Remueve el almacén temporal más reciente |
stash pop | Aplica y remueve el almacén 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 | Envía una etiqueta al repositorio remoto |
Ver diferencias
git diff | Muestra cambios entre el directorios de trabajo y el índice |
git diff HEAD | Muestra los cambios entre el directorio de trabajo y el último 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 específico |
git log –oneline –graph –decorate –all | Muestra un registro gráfico de commits |
git blame fichero | Muestra qué revisión y autor modificó por última vez cada línea de un fichero |
git shortlog | Resume historial de commits por autor |
Colaboración y revisión
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 |
| |