Git: El Kit de Emergencia
¿La liaste con el código? Guarda esta guía. Los comandos esenciales para deshacer errores, revertir commits y salvar tu empleo.
Secciones8
📊 Estado e Historial
20 snippetsComandos para verificar el estado del repositorio, explorar el historial de commits y visualizar cambios en archivos o commits específicos.
Estado Corto
Muestra el estado del directorio de trabajo y del área de staging de forma concisa. La flag -s (o --short) muestra la salida en un formato abreviado y fácil de leer, indicando archivos modificados, añadidos o eliminados.
git status -sEstado para Scripts (Porcelain)
Proporciona una salida de estado formateada para ser fácilmente parseada por scripts. Es una interfaz estable y no diseñada para lectura humana, ideal para automatización.
git status --porcelainIncluir Archivos Ignorados en el Estado
Incluye archivos ignorados (listados en el .gitignore) en la salida del estado, mostrándolos en la sección "Untracked files". Útil para verificar si las reglas de ignorar están funcionando como se esperaba.
git status --ignoredInformación de la Branch en el Status
Muestra información adicional sobre la branch actual, como el nombre de la branch, si está por delante o por detrás de su upstream, y el hash del commit actual.
git status --branchMostrar Stashes en el Status
Muestra la cantidad de stashes que tienes actualmente. Útil para recordar si hay cambios guardados que necesitan ser aplicados o eliminados.
git status --show-stashLog Completo del Historial
Proporciona una visualización completa y compacta del historial de commits. `--oneline` muestra cada commit en una línea, `--graph` dibuja un grafo ASCII del historial, `--all` incluye branches remotas y tags, y `--decorate` muestra los nombres de las branches y tags.
git log --oneline --graph --all --decorateLog con Estadísticas
Muestra estadísticas de cada commit, indicando qué archivos fueron modificados y el número de líneas añadidas/eliminadas. Útil para tener una visión rápida del impacto de cada commit.
git log --statLog con Diff Completo (Patch)
Muestra el diff completo (patch) para cada commit, exhibiendo los cambios exactos línea por línea. Esencial para revisar el contenido de cada alteración.
git log --patchLog por Período
Filtra el historial de commits para mostrar solo aquellos realizados dentro de un período específico. Se pueden usar formatos como "2 weeks ago", "yesterday", "2023-01-01".
git log --since="2 weeks ago"Log por Autor
Filtra o histórico para exibir apenas os commits feitos por um autor específico. O nome do autor deve corresponder ao configurado no Git.
git log --author="nome"Log por Mensaje de Commit
Filtra el historial de commits por una palabra clave o patrón regex en el mensaje del commit. Útil para encontrar commits relacionados con correcciones de bugs o funcionalidades específicas.
git log --grep="fix"Log por Cambio de Código (Pickaxe)
Busca commits que introdujeron o eliminaron una string específica en el código (también conocido como opción "pickaxe"). Es potente para rastrear dónde una función o variable fue cambiada por primera vez.
git log -S "função"Log Siguiendo Renombres de Archivo
Muestra el historial de un archivo específico, siguiendo su historial a través de renombres. Garantiza que veas todos los cambios en el archivo, incluso si su nombre ha cambiado.
git log --follow arquivo.txtLog Coloreado y Formateado
Presenta un log de commits altamente formateado y coloreado, mostrando hash, branches/tags, mensaje, fecha relativa y autor. Personalizable para una mejor legibilidad visual.
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'Log Compacto con Grafo
Una visualización compacta y decorada del historial, mostrando el grafo de branches y tags. Similar al log completo, pero sin incluir todas las referencias remotas por defecto.
git log --oneline --decorate --graphLog en Orden Cronológico Inverso
Muestra el historial de commits en orden cronológico inverso, es decir, del commit más antiguo al más reciente. Útil para ver la evolución de un proyecto.
git log --reverseVisualizar Último Commit
Muestra el contenido del último commit en la branch actual, incluyendo el diff. Es una forma rápida de revisar lo que se ha commiteado más recientemente.
git show HEADVisualizar Commit Específico (HEAD~2)
Muestra el contenido del commit que está dos commits antes del HEAD. Se puede usar cualquier referencia de commit (hash, tag, branch, HEAD~n).
git show HEAD~2Visualizar Solo Nombres de Archivos Modificados
Muestra solo los nombres de los archivos que fueron modificados en el commit especificado, sin mostrar el diff completo.
git show --name-only HEADVisualizar Commit con Estadísticas
Muestra estadísticas de modificación para el commit especificado, mostrando qué archivos fueron alterados y el número de líneas añadidas/eliminadas.
git show --stat HEAD🌿 Branches Avanzadas
15 snippetsComandos esenciales para crear, listar, gestionar y eliminar branches, tanto locales como remotas.
Crear y Cambiar a Nueva Rama (Checkout)
Crea una nueva rama con el nombre especificado (ej: `feature/nueva-funcionalidad`) e inmediatamente cambia a ella. Es un atajo para `git branch <nombre>` seguido de `git checkout <nombre>`.
git checkout -b feature/nova-funcionalidadeCrear y Cambiar a Nueva Rama (Switch)
Comando moderno y más intuitivo para crear una nueva rama y cambiar a ella. Es la alternativa recomendada a `git checkout -b` para este propósito.
git switch -c feature/nova-funcionalidadeListar Todas las Ramas (Local y Remota)
Lista todas las ramas, incluyendo las locales y las remotas. Las ramas remotas están prefijadas con el nombre del remote (ej: `remotes/origin/main`).
git branch -aListar Solo Branches Remotas
Lista solo las branches remotas. Útil para ver qué branches existen en los repositorios remotos sin contaminar la salida con las locales.
git branch -rListar Branches con Último Commit
Lista las branches locales con información adicional, como el último commit de cada branch y el mensaje del commit. Ayuda a tener una visión rápida del estado de cada branch.
git branch -vListar Branches Mergeadas
Lista las branches que ya fueron totalmente mergeadas en la branch actual. Generalmente, son branches que pueden ser eliminadas con seguridad.
git branch --mergedListar Branches No Mergeadas
Lista las branches que aún no han sido mergeadas en la branch actual. Estas branches contienen trabajo que aún no ha sido integrado y no deben ser eliminadas sin cuidado.
git branch --no-mergedEliminar Branch Local (Seguro)
Elimina la branch local especificada (ej: `feature-branch`). Este es un "delete seguro" que fallará si la branch contiene commits no mergeados en la branch actual.
git branch -d feature-branchForzar Eliminación de Branch Local
Fuerza la eliminación de la branch local especificada, incluso si contiene commits no mergeados. Usa con cautela, ya que puede resultar en pérdida de trabajo.
git branch -D feature-branchEliminar Branch Remota
Elimina una branch del repositorio remoto (ej: `origin/feature-branch`). Es el comando para eliminar branches remotas que ya no son necesarias.
git push origin --delete feature-branchRenombrar Branch Actual
Renombra la branch local `old-name` a `new-name`. Si `old-name` se omite, renombra la branch actual.
git branch -m old-name new-nameForzar Renombrado de Branch
Fuerza el renombrado de una branch, incluso si `new-name` ya existe. Usa con cuidado para evitar sobrescribir branches existentes.
git branch -M old-name new-nameMostrar Branch Actual
Muestra el nombre de la branch actual en la que estás trabajando. Útil para scripts o para confirmar rápidamente la branch.
git branch --show-currentBranches que Contienen un Commit Específico
Lista todas las branches que contienen el commit especificado (ej: `abc123`). Útil para rastrear dónde se integró un commit específico.
git branch --contains abc123Ordenar Branches por Fecha del Último Commit
Lista las branches locales ordenadas por la fecha del último commit, del más reciente al más antiguo. La flag `-` invierte el orden.
git branch --sort=-committerdate🔄 Merge y Rebase
13 snippetsComandos para integrar cambios entre branches mediante merge tradicional o reorganizando el historial con rebase. Incluye cherry-pick.
Merge Normal
Integra los cambios de la `feature-branch` en la rama actual. Si es posible, realiza un fast-forward merge; de lo contrario, crea un merge commit.
git merge feature-branchMerge Sin Fast-Forward
Fuerza la creación de un merge commit, incluso si un fast-forward merge fuera posible. Esto preserva el historial de ramas, mostrando explícitamente dónde se integró la feature.
git merge --no-ff feature-branchMerge con Squash
Aplica los cambios de la `feature-branch` en la rama actual como un único commit, sin registrar la `feature-branch` en el historial. Los commits de la `feature-branch` son "aplastados" en un único commit en la rama de destino.
git merge --squash feature-branchRebase Interactivo (Últimos N Commits)
Inicia un rebase interactivo en los últimos 3 commits a partir del HEAD. Permite reordenar, editar, aplastar (squash) o dividir commits, y eliminar commits. Abre un editor de texto con las opciones.
git rebase -i HEAD~3Rebase Interactivo (Desde una Branch)
Inicia un rebase interactivo de todos los commits en la branch actual que no están en la branch `main`. Útil para limpiar el historial antes de hacer un merge en la `main`.
git rebase -i mainContinuar Rebase
Continúa el proceso de rebase después de resolver conflictos de merge o después de editar un commit durante un rebase interactivo.
git rebase --continueCancelar Rebase
Cancela el rebase en curso y devuelve la branch al estado en que estaba antes del inicio del rebase. Útil si decides no continuar o si encuentras problemas insolubles.
git rebase --abortCherry-pick de Commit Específico
Aplica los cambios introducidos por un commit específico (ej: `abc123`) en la branch actual, creando un nuevo commit con esos cambios. Útil para portar correcciones o funcionalidades puntuales.
git cherry-pick abc123Cherry-pick de Rango de Commits
Aplica un rango de commits (del `abc123` exclusivo hasta el `def456` inclusivo) en la branch actual. Útil para portar múltiples cambios a la vez.
git cherry-pick abc123..def456Cherry-pick Sin Crear Commit
Aplica los cambios del commit `abc123` en el directorio de trabajo y área de staging, pero sin crear un nuevo commit. Permite revisar y ajustar los cambios antes de commitarlos.
git cherry-pick --no-commit abc123Cherry-pick con Crédito de Origen
Aplica el commit `abc123` y añade una línea "cherry-picked from commit abc123" al mensaje del nuevo commit, indicando el origen.
git cherry-pick -x abc123Cherry-pick con Sign-off
Aplica el commit `abc123` y añade una línea "Signed-off-by: Your Name <your.email@example.com>" al mensaje del nuevo commit, indicando que certificas el origen del cambio.
git cherry-pick --signoff abc123Cancelar Cherry-pick
Cancela un cherry-pick en curso y devuelve la branch al estado anterior. Útil si hay conflictos o si el cherry-pick ya no es deseado.
git cherry-pick --abort🔍 Búsqueda e Investigación
16 snippetsHerramientas para buscar dentro del código fuente, investigar historial de modificaciones y usar git bisect para identificar commits problemáticos.
Buscar String en el Working Tree
Busca una string o patrón regex en los archivos rastreados por Git en el directorio de trabajo. Es como un `grep` tradicional, pero optimizado para repositorios Git.
git grep "função"Buscar String en Commit Específico
Busca una string o patrón regex en el código en un commit específico (ej: `HEAD~5`). Útil para encontrar dónde existía una string en un punto anterior del historial.
git grep "função" HEAD~5Buscar String con Números de Línea
Busca una string y muestra los números de línea donde se encontró la coincidencia. Ayuda a localizar rápidamente la ocurrencia en el archivo.
git grep -n "função"Buscar String Case Insensitive
Realiza una búsqueda case insensitive, ignorando la diferencia entre letras mayúsculas y minúsculas al buscar la string.
git grep -i "função"Blame: Quién Modificó Cada Línea
Muestra el historial de revisiones línea por línea para un archivo específico. Para cada línea, exhibe el commit que la modificó por última vez, el autor y la fecha. Útil para identificar quién y cuándo alteró una parte del código.
git blame arquivo.txtBlame de Líneas Específicas
Restringe la salida de `git blame` a un intervalo específico de líneas (de la línea 10 a la 20, inclusive) de un archivo. Útil para enfocarse en una sección problemática.
git blame -L 10,20 arquivo.txtHistorial de Archivo con Patches
Muestra el historial de commits que afectaron el `archivo.txt`, incluyendo el patch (diff) completo de cada alteración. Permite ver exactamente cómo el archivo evolucionó.
git log -p arquivo.txtHistorial de Archivo Siguiendo Renombramientos
Muestra el historial de un archivo específico, siguiendo su historial a través de renombramientos. Garantiza que veas todos los cambios en el archivo, incluso si su nombre ha cambiado.
git log --follow arquivo.txtIniciar Bisect para Bugs
Inicia una sesión de `git bisect`, que es una herramienta para encontrar el commit que introdujo un bug usando una búsqueda binaria en el historial.
git bisect startMarcar Commit Actual como "Malo"
Marca el commit actual (HEAD) como "malo", indicando que el bug está presente en este punto.
git bisect bad HEADMarcar Versión Conocida como "Buena"
Marca un commit conocido (ej: `v1.0.0`) como "bueno", indicando que el bug no estaba presente en este punto. Git entonces elige un commit intermedio para que pruebes.
git bisect good v1.0.0Automatizar Bisect con Pruebas
Automatiza el proceso de bisect ejecutando un script o comando (ej: `npm test`) en cada commit. El script debe devolver 0 para "bueno" y un código de error (1-127) para "malo".
git bisect run npm testFinalizar Bisect
Finaliza la sesión de `git bisect` y devuelve la branch al commit en el que estaba antes de iniciar el bisect.
git bisect resetVisualizar Grafo del Bisect
Abre una interfaz gráfica (si está configurada) para visualizar el grafo de commits y el progreso del bisect.
git bisect visualizeMostrar Log del Bisect
Muestra el log de todos los comandos `git bisect` ejecutados en la sesión actual, útil para revisar el proceso.
git bisect logRepetir Bisect desde un Log
Repite una sesión de bisect a partir de un archivo de log previamente guardado, permitiendo recrear el proceso de depuración.
git bisect replay arquivo.log🏷️ Tags y Releases
13 snippetsComandos para crear, listar y gestionar tags — referencias inmutables a puntos específicos del historial, usadas para marcar versiones.
Crear Etiqueta Ligera (Lightweight)
Crea una etiqueta ligera (lightweight tag) con el nombre `v1.0.0` en el commit actual. Las etiquetas ligeras son solo un puntero a un commit.
git tag v1.0.0Crear Etiqueta Anotada
Crea una etiqueta anotada (annotated tag) con el nombre `v1.0.0` y un mensaje descriptivo. Las etiquetas anotadas son objetos Git completos, que contienen el nombre del etiquetador, e-mail, fecha y mensaje, y se recomiendan para releases.
git tag -a v1.0.0 -m "Release 1.0.0"Crear Etiqueta Anotada en Commit Específico
Crea una etiqueta anotada `v1.0.0` en un commit específico (ej: `abc123`), en lugar del HEAD. Útil para marcar commits pasados.
git tag -a v1.0.0 abc123 -m "Tag commit específico"Listar Todas las Tags
Lista todas las tags en el repositorio local en orden alfabético.
git tagFiltrar Tags
Lista tags que corresponden a un patrón específico (ej: todas las tags que comienzan con "v1.").
git tag -l "v1.*"Ver Detalles de la Tag
Muestra los detalles de una tag específica, incluyendo el mensaje de la tag (si es anotada) y el commit al cual apunta.
git show v1.0.0Eliminar Tag Local
Elimina la tag `v1.0.0` del repositorio local. Esto no elimina la tag de repositorios remotos.
git tag -d v1.0.0Eliminar Tag Remota
Elimina la tag `v1.0.0` del repositorio remoto `origin`. Es necesario para eliminar tags publicadas.
git push origin --delete v1.0.0Enviar Tag Específica a Remote
Envía una tag específica (`v1.0.0`) al repositorio remoto `origin`. Las tags no se envían automáticamente con `git push`.
git push origin v1.0.0Enviar Todas las Tags al Remoto
Envía todas las tags locales al repositorio remoto `origin`. Útil para publicar varias tags a la vez.
git push origin --tagsVerificar Firma de Tag
Verifica la firma GPG de una tag anotada. Requiere que la tag haya sido firmada y que la clave GPG del firmante esté disponible.
git tag -v v1.0.0Crear Tag Firmada
Crea una tag anotada y firmada con GPG. La firma garantiza la autenticidad e integridad de la tag.
git tag -s v1.0.0 -m "Release"Forzar Creación/Actualización de Tag
Fuerza la creación o actualización de una tag existente. Usa con cautela, ya que puede sobrescribir tags importantes.
git tag -f v1.0.0📦 Stash Avanzado
13 snippetsGestión del stash de Git, un área temporal para guardar cambios no commiteados cuando necesitas cambiar de branch.
Stash Básico
Guarda los cambios no commitados (modificaciones en el directorio de trabajo y archivos staged) en una pila de stashes, revirtiendo el directorio de trabajo al estado del último commit. Los archivos no rastreados no se incluyen por defecto.
git stashStash con Mensaje
Guarda los cambios con un mensaje descriptivo. El mensaje ayuda a identificar el contenido del stash posteriormente, especialmente cuando hay varios stashes.
git stash push -m "WIP: feature X"Stash de Archivo Específico
Guarda solo los cambios de un archivo específico en el stash, dejando otros archivos inalterados. El `--` es necesario para distinguir la ruta del archivo de otras opciones.
git stash push -- arquivo.txtStash Incluyendo Archivos No Rastreados
Guarda los cambios, incluyendo también los archivos no rastreados (untracked files) en el stash. Útil para guardar todo el estado del directorio de trabajo.
git stash push --include-untrackedListar Stashes
Lista todos los stashes actualmente almacenados, mostrando una breve descripción y el índice de cada uno (ej: `stash@{0}`).
git stash listVer Cambios de un Stash
Muestra un resumen de los cambios contenidos en un stash específico (ej: `stash@{0}`). Muestra qué archivos fueron modificados.
git stash show stash@{0}Ver Patch Completo de un Stash
Muestra el patch completo (diff) de un stash específico, exhibiendo los cambios línea por línea. Esencial para revisar el contenido antes de aplicar.
git stash show -p stash@{0}Aplicar Stash Sin Eliminar
Aplica los cambios de un stash específico en el directorio de trabajo, pero mantiene el stash en la pila. Útil si quieres aplicar el mismo stash en varias branches.
git stash apply stash@{0}Aplicar y Eliminar Stash
Aplica los cambios de un stash específico en el directorio de trabajo y, a continuación, elimina el stash de la pila. Es el comando más común para aplicar y limpiar stashes.
git stash pop stash@{0}Eliminar Stash Específico
Elimina un stash específico de la pila sin aplicar sus cambios. Útil para descartar stashes que ya no son necesarios.
git stash drop stash@{0}Limpiar Todos los Stashes
Elimina todos los stashes de la pila. Usa con extrema precaución, ya que esta acción es irreversible.
git stash clearCrear Branch a Partir de Stash
Crea una nueva branch a partir del commit donde se creó el stash, aplica el stash en ella y, a continuación, elimina el stash de la pila. Útil para continuar el trabajo de un stash en una nueva branch.
git stash branch nova-branch stash@{0}Stash Solo Cambios No Staged
Guarda los cambios no staged en el stash, pero mantiene los cambios que ya estaban en el área de staging. Útil para commitear solo parte de los cambios y guardar el resto.
git stash --keep-index↩️ Reset y Restore
9 snippetsComandos para deshacer cambios, revertir el historial de commits y recuperar archivos o estados anteriores. Incluye git reset y git restore.
Reset Soft (Deshace Commit, Mantiene Staged)
Deshace el último commit, moviendo el HEAD al commit anterior, pero mantiene los cambios del commit deshecho en el área de staging. El directorio de trabajo permanece inalterado.
git reset --soft HEAD~1Reset Mixed (Deshace Commit y Staging)
Deshace el último commit y mueve los cambios del commit deshecho al directorio de trabajo (no staged). Es el comportamiento predeterminado de `git reset` si no se especifica ninguna flag. El área de staging se limpia.
git reset --mixed HEAD~1Reset Hard (¡BORRA TODO! ¡Cuidado!)
Deshace el último commit, descarta todos los cambios del commit deshecho del directorio de trabajo y del área de staging. Esta acción es irreversible y puede resultar en pérdida de trabajo no commitado. ¡Usa con extrema precaución!
git reset --hard HEAD~1Restaurar Archivo en el Working Tree
Descarta los cambios en `archivo.txt` en el directorio de trabajo, restaurándolo al estado del último commit. Es una alternativa más segura e intuitiva a `git checkout -- archivo.txt`.
git restore arquivo.txtUnstage Archivo (Remover del Staging)
Remueve el `archivo.txt` del área de staging, moviendo sus cambios de vuelta al directorio de trabajo (unstage). El archivo en el directorio de trabajo permanece inalterado.
git restore --staged arquivo.txtRestaurar Archivo de Commit Específico
Restaura el `archivo.txt` en el directorio de trabajo y en el área de staging al estado en que estaba en un commit específico (ej: `HEAD~1`). Útil para recuperar versiones antiguas de archivos.
git restore --source=HEAD~1 arquivo.txtVer Historial de Referencias (Reflog)
Muestra un log de todas las acciones que modificaron el HEAD del repositorio local. Es un historial de "dónde estuvo el HEAD", permitiendo recuperar commits que parecen haberse perdido después de resets o rebases.
git reflogHistorial de Reflog de Branch
Muestra el reflog para una branch específica (ej: `main`), indicando todas las veces que la referencia `main` fue actualizada.
git reflog show mainVolver Usando Reflog
Vuelve el HEAD (y la branch actual) a un estado anterior registrado en el reflog (en este caso, el segundo estado más reciente). Es la principal forma de recuperar commits después de un `git reset --hard` accidental.
git reset --hard HEAD@{2}☁️ Remote y Colaboración
14 snippetsComandos avanzados para gestionar repositorios remotos, sincronizar branches y colaborar efectivamente en proyectos Git.
Listar Remotes (Verbose)
Lista los repositorios remotos configurados para el proyecto, mostrando sus nombres y URLs (verbose). Útil para verificar de dónde estás trayendo y a dónde estás enviando.
git remote -vAñadir Nuevo Remote
Añade un nuevo repositorio remoto con el nombre `upstream` y la URL especificada. Común para configurar un remote para el repositorio original en un fork.
git remote add upstream https://...Cambiar URL de Remote
Cambia la URL de un repositorio remoto existente (ej: `origin`). Útil para actualizar la ubicación de un repositorio o cambiar entre SSH y HTTPS.
git remote set-url origin https://...Remover Remote
Elimina un repositorio remoto con el nombre `upstream` de la configuración local. Esto no afecta al repositorio remoto en sí.
git remote remove upstreamFetch de Todos los Remotes
Descarga objetos y referencias de todos los repositorios remotos configurados. No integra los cambios en el directorio de trabajo, solo actualiza las referencias remotas locales.
git fetch --allFetch con Prune (Remover Refs Eliminadas)
Elimina las referencias locales a branches remotas que fueron eliminadas en el repositorio remoto. Ayuda a mantener la lista de branches remotas limpia y actualizada.
git fetch --prunePull con Rebase
Descarga los cambios del repositorio remoto y, a continuación, aplica tus cambios locales sobre ellos usando rebase. Esto evita commits de merge innecesarios y mantiene un historial lineal.
git pull --rebasePull Solo Fast-Forward
Descarga los cambios del repositorio remoto e intenta realizar un fast-forward merge. Si un fast-forward no es posible (es decir, hay commits locales que no son ancestros del remote), el comando falla, requiriendo un merge manual o rebase.
git pull --ff-onlyPush y Configurar Upstream
Envía la `feature-branch` al repositorio remoto `origin` y la configura como la branch de upstream. Esto permite usar `git pull` y `git push` sin especificar el remote y la branch posteriormente.
git push -u origin feature-branchForce Push Seguro (with-lease)
Envía los cambios al repositorio remoto, forzando la sobrescritura del historial, pero con una salvaguarda. Solo funciona si la branch remota no ha sido actualizada por otra persona desde tu último fetch, previniendo sobrescrituras accidentales de trabajo ajeno.
git push --force-with-leaseEliminar Branch Remota (Push)
Elimina la `feature-branch` del repositorio remoto `origin`. El `:` antes del nombre de la branch local indica que estás enviando "nada" a la branch remota, eliminándola efectivamente.
git push origin :feature-branchPush de Todas las Branches
Envía todas las branches locales al repositorio remoto `origin`. Útil para asegurar que todas tus branches estén sincronizadas con el remoto.
git push --all originReflejar Repositorio en el Remoto
Refleja el repositorio local en el repositorio remoto `origin`. Esto significa que todas las branches, tags y referencias del local serán replicadas en el remoto, incluyendo la eliminación de cualquier cosa que no esté en el local. Usa con extrema precaución, ya que es una operación destructiva.
git push --mirror originPush con Tags y Follow-Tags
Envía todas las tags locales al repositorio remoto, y también envía cualquier commit que sea referenciado por esas tags (si aún no están en el remote). `--follow-tags` garantiza que las tags anotadas que apuntan a commits que aún no han sido enviados también sean enviadas.
git push --tags --follow-tagsCheatsheets relacionados
Get-LocationPowerShell: Automatiza lo Aburrido
La GUI es para amateurs. Domina los One-Liners y Pipelines que gestionan 100 servidores simultáneamente. Deja de hacer clic en ventanas y empieza a tratar tu infraestructura como código.
docker --versionDocker: Comandos de Producción
Olvida la configuración manual. Copia y pega los comandos para levantar containers, limpiar volúmenes y hacer deploy en tiempo récord.
ping -c 4 google.comLinux Networking: La Guía Hacker
Siéntete en Mr. Robot. Comandos de red para descubrir IPs, puertos abiertos y diagnosticar conexiones como un profesional de CyberSec.