| Próxima revisión | Revisión previa |
| comandos_de_git [2024/08/31 00:48] – creado peron | comandos_de_git [2026/04/21 16:05] (actual) – editor externo 127.0.0.1 |
|---|
| [[Git]] es un intérprete de comandos también. | [[Git]] es un intérprete de comandos también. |
| |
| ==Establecer un repositorio== | 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 init'' |Inicializa un nuevo repositorio Git. | |
| |''git clone url_repositorio'' |Clona un repositorio existente desde una URL. | | |''git clone'' //url_repositorio// |Clona un repositorio existente desde una URL. | |
| |
| ==Configurar Git== | ===Configurar Git=== |
| |
| |''git config --global user.name "$USER"'' |Configura tu nombre. | | |''git config --global user.name <nowiki>"$USER"</nowiki>'' |Configura tu nombre. | |
| |''git config --global user.elamil "$USER@texto-plano.xyz"'' |Configura tu dirección de correo electrónico del repositorio. | | |''git config --global user.email <nowiki>"$USER@texto-plano.xyz"</nowiki>'' |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 --global core.editor'' ''emacs'' |Configura el editor por defecto de Git: ''vim'', ''nano'', ''emacs'' | |
| |''git config --list'' |Lista todas las configuraciones del git | | |''git config --list'' |Lista todas las configuraciones del git | |
| |
| ==Instantáneas básicas== | ===Instantáneas básicas=== |
| |''git add fichero'' |Prepara cambios para el commit | | |''git add'' ''fichero'' |Prepara cambios para el commit | |
| |''git add .'' |Prepara todos los cambios en el directorio 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 commit -m'' ''<nowiki>"Tu mensaje"</nowiki>'' |Hace el commit de los cambios preparados con un mensaje | |
| |''git status'' |Muestra el status del directorio de trabajo de git. | | |''git status'' |Muestra el status del directorio de trabajo de git. | |
| |''git log'' |Muestra el historial del commit | | |''git log'' |Muestra el historial del commit | |
| |''git rm fichero'' |Borra un fichero del directorio de trabajo y del área de preparación | | |''git rm fichero'' |Borra un fichero del directorio de trabajo y del área de preparación | |
| |
| ##Ramas y Uniones | ===Ramas y Unificaciones=== |
| |''git branch'' |Lista las ramas | | |''git branch'' |Lista las ramas | |
| |''git branch nueva-rama'' |Crea una rama nueva llamada //nueva-rama// | | |''git branch'' //nueva-rama// |Crea una rama nueva llamada //nueva-rama// | |
| |''git checkout rama'' |Cambia a una rama diferente | | |''git checkout'' //rama// |Cambia a una rama diferente | |
| |''git checkout -b nueva-rama'' |Crea una nueva rama y cambia a ella. | | |''git checkout -b'' //nueva-rama// |Crea una nueva rama y cambia a ella. | |
| |''git merge rama'' |Une una rama a la rama actual | | |''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// |Borra una rama (solo si la ha unificado | |
| |''git branch -D rama'' |Borrado forzado de una rama (incluso si no está unificada) | | |''git branch -D'' //rama// |Borrado forzado de una rama (incluso si no está unificada) | |
| |
| ==Deshacer cambios== | ===Deshacer cambios=== |
| |''git reset --hard HEAD'' |descarta todos los cambios locales | | |''git reset --hard HEAD'' |descarta todos los cambios locales | |
| |''git checkout -- fichero'' |descarta los cambios en el fichero especificado | | |''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 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'' //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 | | |''git reset --hard'' //id-commit// |Resetea a una commit previa descartando todos los cambios posteriores a la misma | |
| |
| ==Trabajando con Remotos== | ===Trabajando con Remotos=== |
| |
| |''git remote add origin url_repo'' |Agrega un repositorio remoto | | |''git remote add origin'' //url_repo// |Agrega un repositorio remoto | |
| |''git remote -v'' |Lista los repositorios remotos | | |''git remote -v'' |Lista los repositorios remotos | |
| |''git fetch'' |Descarga los objetos y referencias de un repositorio remoto | | |''git fetch'' |Descarga los objetos y referencias de un repositorio remoto | |
| |''git pull'' |Consigue y unifica los cambios referenciando desde el 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'' //rama// |Envía una rama al repositorio remoto | |
| |''git push origin --delete rama'' |Borra una rama remota | | |''git push origin --delete'' //rama// |Borra una rama remota | |
| |
| ==Stashing cambios== | ===Almacenando cambios=== |
| |
| |''git stash'' |Almacena temporalmente los cambios en un directorios de trabajo sucio | | |''git stash'' |Almacena temporalmente los cambios en un directorios de trabajo sucio | |
| |''git stash list'' |Lista todos los cambios almacenados temporalmente | | |''git stash list'' |Lista todos los cambios almacenados temporalmente | |
| |''git stash apply'' |Aplica el almacén temporal mas reciente | | |''git stash apply'' |Aplica el almacén temporal mas reciente | |
| |''git stash apply stash@{índice}'' |Aplica un almacén temporal específico | | |''git stash apply stash@{''//índice//''}'' |Aplica un almacén temporal específico | |
| |''git stash drop'' |Remueve el almacén temporal más reciente | | |''git stash drop'' |Remueve el almacén temporal más reciente | |
| |''stash pop'' |Aplica y remueve el almacén temporal mas reciente | | |''stash pop'' |Aplica y remueve el almacén temporal mas reciente | |
| |
| ==Etiquetado== | ===Etiquetado=== |
| |''git tag etiqueta'' |Crea una etiqueta nueva para el repositorio | | |''git tag'' //etiqueta// |Crea una etiqueta nueva para el repositorio | |
| |''git tag'' |Lista todas las etiquetas del repositorio | | |''git tag'' |Lista todas las etiquetas del repositorio | |
| |''git show etiqueta'' |Muestra los detalles de una etiqueta | | |''git show'' //etiqueta// |Muestra los detalles de una etiqueta | |
| |''git push origin etiqueta'' |Envía una etiqueta al repositorio remoto | | |''git push origin'' //etiqueta// |Envía una etiqueta al repositorio remoto | |
| |
| ==Ver diferencias== | ===Ver diferencias=== |
| |''git diff'' |Muestra cambios entre el directorios de trabajo y el índice | | |''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 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 | | |''git diff'' //rama// |Muestra los cambios entre la rama actual y otra rama | |
| |
| ==Inspeccionar y comparar== | ===Inspeccionar y comparar=== |
| |''git show id-commit'' |Muestra detalles de un commit específico | | |''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 log --oneline --graph --decorate --all'' |Muestra un registro gráfico de commits | |
| |''git blame file'' |Muestra qué revisión y autor modificó por última vez cada línea de un fichero | | |''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 | | |''git shortlog'' |Resume historial de commits por autor | |
| |
| ==Colaboración y revisión== | ===Colaboración y revisión=== |
| |''git fetch origin'' |Recoge cambios desde el repositorio remoto. | | |''git fetch origin'' |Recoge cambios desde el repositorio remoto. | |
| |''git pull origin rama'' |Trae los cambios desde la rama remota y la unifica | | |''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 push origin'' //rama// |Envia una rama local al repositorio remoto | |
| |''git cherry-pick id-commit'' |Aplica los cambios desde una commit específica | | |''git cherry-pick'' //id-commit'' |Aplica los cambios desde una commit específica | |
| |
| |
| ==Limpieza== | ===Limpieza=== |
| |''git clean -f'' |Remueve ficheros no rastreados del directorio de trabajo | | |''git clean -f'' |Remueve ficheros no rastreados del directorio de trabajo | |
| |''git clean -fd'' |Remueve ficheros no rastrados y directorios | | |''git clean -fd'' |Remueve ficheros no rastrados y directorios | |
| |''git gc'' |Optimiza el repositorio comprimiendo la historia de ficheros | | |''git gc'' |Optimiza el repositorio comprimiendo la historia de ficheros | |
| |