Comandos Git: 21 Opciones Que Debes Conocer

by Ian Hernandez
Comandos Git: 21 Opciones Que Debes Conocer thumbnail

Cualquiera que use o conozca Git, sabe que hay términos y modificadores a seguir.

Y debes mantenerte al tanto de todo, pues hoy en día es un estándar en el control de versiones para productos tecnológicos.

Pero en vez de retenerlo todo en tu memoria, creamos esta guía completa de recursos con comandos críticos. Así tu uso de Git será más efectivo y eficiente.

¿No eres un superusuario de Git (aún)? Perfecto, no hay problema.

Los comandos que veremos van desde los cotidianos, hasta los raros y complejos. Y, como bono adicional, te daremos consejos de cada uno, sobre cómo usarlos durante tus proyectos de desarrollo.

Comenzaremos hablando del trasfondo de Git, y luego haremos una descripción completa de cómo usar Git en un entorno real.

Pequeño Resumen: Entendiendo Git, GitHub, y el Sistema de Control de Versiones

Características de Git.

Los desarrolladores definirían a Git como a una plataforma de Gestión de Código Fuente (SCM, por Source Code Management). En otras palabras, es un sistema de control de versiones gratuito, fácil de usar y que, por ende, está en el corazón de muchos proyectos conocidos.

Esto nos lleva a una pregunta muy lógica, si no eres parte del mundo del desarrollo: ¿Qué es un control de versiones? 

Crear algo a partir de código a menudo, conlleva pruebas, errores y varios pasos. Y, en muchos casos, colaboración.

Es muy fácil sobreescribir o perder elementos importantes, que requirieron esfuerzo. Si has trabajado con colegas, en tiempo real, sobre un documento de Google, sabes qué se siente.

Básicamente, una herramienta de control de versiones guarda cada iteración de tu progreso, durante los pasos de un proyecto. Esto es útil, en caso de que desees volver a una versión anterior para revisar elementos y reutilizarlos — o incluso, si quieres restaurar una versión más antigua de tu proyecto, si algo en su versión actual no funciona como debería.

Git se instala localmente, lo que implica que existe en tu computador, en lugar de en la nube. Es más, ¡no necesitas conectarte a internet para usarlo!

Así, brinda un repositorio seguro (o “repo”, que es un espacio de almacenamiento para código), para que los desarrolladores guarden cada borrador de los proyectos en que trabajan. 

Git va más allá, gracias a su modelo de ramificación que lo hizo tan conocido.

Con Git, un desarrollador puede crear diversas “ramas de código” que se extienden desde algún proyecto. Básicamente, son copias del proyecto principal, o proyecto master, pero el término gradualmente está siendo dejado de lado.

Los cambios en estas ramas, no impactan el código del proyecto principal a menos que lo indiques. Con esta función los desarrolladores pueden hacer cosas como experimentar con nuevas funcionalidades o solucionar bugs. Los cambios realizados en una rama, no impactarán el código principal a menos que hagas un “merge” o fusión. 

Git tiene mucho sentido para quienes trabajan en proyectos propios. Pero, ¿qué pasa si necesitas trabajar en equipo, en un proyecto de codificación? 

Conoce GitHub.

Características y funciones ofrecidas por GitHub

GitHub es una plataforma de desarrollo para alojar repositorios de Git.

Es decir, es una forma de sacar tus repos de Git de tu máquina local y llevarlos a Internet, generalmente para que otras personas te colaboren con ellos.

GitHub se basa en la nube y tiene fines lucrativos, aunque sus elementos básicos pueden usarse gratis, una vez te registres.

La función principal de GitHub es permitir que los desarrolladores trabajen juntos en un solo proyecto en tiempo real, realizando revisiones remotas de código, además de monitorear el trabajo de los demás y actualizar el proyecto principal. 

GitHub mantiene la característica principal de Git: evitar la sobreescritura y mantener todas las versiones guardadas de un proyecto. También trae funciones y servicios adicionales, como más almacenamiento, rápidos entornos de desarrollo, escritura de código con inteligencia artificial, soporte para auditorías de código y más. (Más información, en su página de precios

Es importante mencionar que GitHub no es el único servicio en este espacio. Hay alternativas como Bitbucket, GitLab, entre otras.

Sin embargo, Git y GitHub funcionan muy bien juntos. Más adelante profundizaremos en ello.

Pero primero lo primero: hicimos una lista con muchos comandos de Git que todo desarrollador y equipo técnico debería conocer, para tener éxito en este entorno de control de versiones.

[glossary_term_es title=”Github” text=”GitHub es un servicio basado en la nube que los desarrolladores utilizan para almacenar su código, realizar seguimiento de los cambios en el código y colaborar con otros desarrolladores. Es una plataforma popular para colaborar en tiempo real en proyectos de software.”]

21 De Los Comandos Git Más Usados Que Debes Conocer

¿Estás listo para conocer los mejores trucos Git que puedas imaginar?

En esta sección nos sumergiremos en comandos Git, instrucciones, y todo lo que necesitas para usar Git exitosamente. Es más, te daremos consejos para usar cada uno, en tus proyectos.

Consejo profesional para aprovechar este documento al máximo: Presiona ‘command + F’ en un Mac, o ‘Ctrl + F’ en Windows, para abrir una caja de búsqueda y encontrar un comando específico, en caso de que busques algo puntual.

git config

git config es un comando muy útil para personalizar cómo funciona Git en tres niveles: del sistema operativo (sistema); específico del usuario (global); y específico del repositorio (local). 

Prueba git config con estos movimientos:  

git config --global user.email [tu dirección de correo]

Los desarrolladores lo ejecutan después de descargar Git, para configurar su dirección de correo electrónico.

git config --global user.name [tu nombre]

Con él, configurarás tu nombre de usuario.

git config --local

Con él, personalizarás la configuración específica de tu repositorio local. Esto anulará las configuraciones predeterminadas de Git, en los niveles global y del sistema. 

Recibe contenido directamente en tu bandeja de entrada

Suscríbete ahora para recibir todas las últimas actualizaciones, directamente en tu bandeja de entrada.

git pull 

git pull es un comando para obtener código de un repositorio remoto y descargarlo en tu repo local, el cual se actualizará luego, y coincidirá con lo que acabas de obtener.

Este merge, es vital para usar Git. En realidad, abrevia otros dos comandos: git fetch y luego git merge

Estas son algunas maneras en las que este comando se usa, habitualmente: 

git pull [remote]

Obtén un repositorio remoto específico y únelo con el repo local en que trabajas.

git pull --no-commit [remote]

Este comando obtiene el repo remoto, pero no lo fusiona automáticamente.

Como pull es un comando central de Git, hay muchas formas de utilizarlo. Git Branch Commands ofrece aún más ejemplos y combinaciones nuevas para que pruebes.

git fetch 

git fetch, como comando independiente, descarga ‘commits’ de repositorios remotos en repos locales. Te brinda la opción de ver y cambiar el código de otros desarrolladores. Probémoslo:

git fetch origin

Descarga una copia del repositorio remoto origin y la guarda en tu disco local. Nada se cambia o fusiona por sí mismo, a diferencia de lo que pasa en git pull de forma predeterminada. 

git fetch --all

Obtiene datos de todos los repositorios remotos (incluyendo origin).

git fetch --shallow-exclude=[revision] 

Excluye confirmaciones de ramas o etiquetas específicas.

[glossary_term_es title=”Etiqueta” text=”Una etiqueta de WordPress es una taxonomía predeterminada que te permite categorizar tus publicaciones. Los lectores pueden hacer clic en la etiqueta de una publicación para ver artículos similares con la misma etiqueta.”]

git merge 

El comando git merge combina ramas (generalmente dos, aunque pueden ser más) para crear un historial único. Git resaltará los conflictos que surjan en el merge, para que los resuelvas.

Las opciones para este comando incluyen:

git merge [branch name]

Con esto, fusiona los cambios de la rama nombrada, en la rama (branch) que estás usando.

git merge --abort

Detiene el merge y restaura el proyecto a su estado previo a ella. Este comando ilustra muy bien cómo Git mantiene versiones anteriores del código, para proteger el progreso del proyecto.

git add

git add es el comando a usar cuando estás listo para “guardar” una copia de tu trabajo. Suele usarse en conjunto con — git commit — pues agrega (o commit) lo ya guardado previamente en el historial en ejecución del proyecto.

Estas son algunas formas para especificar qué guardar (o “preparar”) con este comando:

git add [file]

Prepara todos los cambios hechos en un archivo puntual, para agregarlos al próximo.

git add [directory]

Así como el comando anterior, prepara cambios en un directorio específico, dejándolos listos para que los agregues cuando lo consideres.

git commit 

git commit es el segundo comando base, de la trinidad de creación y monitoreo de cambios Git. 

Básicamente, este comando conlleva almacenar todo cambio hecho con el comando git add. No hace esos cambios en el código principal, sino que solo los guarda de forma segura.

Algunas opciones para usar este comando, incluyen:

git commit --amend

Modifica lel último commit (lo último agregado), en lugar de crear uno nuevo por completo.

git commit -m [your message here]

Deja constancia de tu commit, con un mensaje que irá incluido dentro de los corchetes.

git push 

git push es el tercer elemento base, del ciclo colaborativo en Git. Envía todos tus cambios y commits en repositorios locales, a repos remotos. A partir de aquí, otros desarrolladores del proyecto podrán iniciar a trabajar sobre tus actualizaciones. Es lo contrario al comando fetch.

Así es como se usa:

git push [remote] [branch]

Impulsa una rama específica, sus commits y objetos adjuntos. Además, crea una nueva rama local en el repositorio remoto de destino.

git push [remote] --all

Lleva todas las ramas locales a un repo remoto específico.

git branch 

Crea, edita, y remueve ramas en git, con el comando git branch. Usa el comando branch de estas maneras: 

git branch [branch]

Crea una nueva rama, la cual podrás nombrar, reemplazando la palabra entre corchetes. 

git branch -c

Este comando copia una Git branch.

git push [remote repo] --delete [ branch name]

Borra una Git branch remota, nombrada en el último paquete o conjunto de corchetes. 

git checkout 

Usa el comando git checkout para navegar entre las ramas del repo en que estás trabajando. 

git checkout [branch name]

Cambia a una Git branch diferente, nombrada en los corchetes. 

git checkout -b [new-branch]

Simultáneamente, crea una nueva rama y ve a ella. Combinarás git branch y git checkout [new branch].

git remote

Con el comando git remote, tú podrás ver, crear, y borrar conexiones remotas, marcadores (por llamarlos de alguna manera), a otros repositorios. Esto te ayudará a referenciar repos en tu código sin tener que buscarlos y usar sus nombres completos, lo que a veces es incómodo.

Prueba estos comandos remotos:

git remote add [alias] [URL] 

Añade un repositorio remoto, especificando su enlace y dándole un alias, o sobrenombre. 

git remote -v

Obtén una lista de conexiones remotas, e incluye las URL de cada una.

git revert

git revert deshace cambios, creando un nuevo commit que los revierte, a tu gusto.

Una manera de usar (¡cuidadosamente, por favor!) el comando git revert, es: 

git revert [commit ID]

Esto solo revertirá cambios asociados con el commit específico ya identificado.

git reset 

git reset es un comando más riesgoso y potencialmente permanente para deshacer commits.

Este comando solo debería usarse en repositorios locales o privados, para prevenir la eventual interrupción de la codificación de algún otro desarrollador, dentro de un repo público y remoto. Como puede “dejar huérfanos” a otros commits, los cuales podrían borrarse luego, durante la rutina de mantenimiento Git, este comando sí puede borrar el duro trabajo de alguien.

Este es un comando complejo que debe usarse con discreción. Por eso, antes de usarlo por primera vez, te recomendamos leer esta guía sobre Git Reset de Bitbucket.

git status 

git status te brinda información sobre tu directorio de trabajo (es donde quedan las versiones almacenadas de tu historial) y el área de preparación (es como un “área en construcción” entre el directorio y el repositorio). Con este comando, puedes ver en qué estado están tus archivos.

Hay una forma principal de utilizar este comando:

git status

Mira una lista de archivos preparados, sin preparar y sin monitorear.

git clone 

Usa git clone para hacer una copia de un repositorio ya existente. Así, podrás duplicar un repo para experimentar, sin dañar nada disponible públicamente. Aquí tienes algunas opciones para usar este comando:

git clone [repository URL] --branch [branch name]

Clona el repositorio vinculado y dirígete justo a una Git branch específica, en él.

git clone [repo] [directory]

Clona un repo específico, en una carpeta de directorio particular en tu máquina local.

git init

Usa el comando git init para crear un nuevo repositorio Git como un subdirectorio .git, en tu directorio actual de trabajo. Es diferente de git clone, pues te permitirá crear un nuevo repo, en lugar de copiar tan solo, uno ya existente.

Las aplicaciones más comunes de este comando, incluyen: 

git init

Aquí comienza todo. Esto transforma tu directorio actual, en un repositorio Git.

git init [directory]

Con esto, podrás convertir un directorio específico en un repo Git.

git init --bare

Esto genera un nuevo repositorio bare, en el cual no se pueden hacer commits. Esto establece un territorio de staging, o de pruebas, realmente útil para generar un ambiente de colaboración.

git rebase 

git rebase puede reescribir la historia, para ayudarte a mantener limpios y precisos tus commits. Es una opción, si quieres hacer actualizaciones en la rama principal de tu proyecto, mediante un merge rápido, para mostrar una historia más lineal.

git rebase [target branch name]

Elabora de nuevo tu rama actual, en una rama de destino específica.

git rebase [target branch name] -i

Inicia una reelaboración interactiva desde tu rama actual, hacia una rama de destino diferente.

Este es otro comando complejo que no debe usarse en repositorios públicos, pues puede eliminar elementos importantes del historial de algún proyecto. Para obtener información sobre cómo funcionan sus versiones estándar e interactiva, te recomendamos de nuevo la guía de git rebase de Bitbucket.

git diff 

Diffing es la práctica de mostrar las variaciones entre dos conjuntos de datos. 

El comando git diff muestra las diferencias entre las fuentes de datos de Git, como los comentarios y los archivos, entre otros. 

Las opciones para usar este comando incluyen:

git diff –staged

Muestra la diferencia entre lo que está preparado y probado, pero aún no agregado. 

git diff [commit ID 1] [commit ID 2]

Este comando compara los cambios entre dos commits diferentes.

git tag 

El comando git tag apunta a un momento específico en el historial Git; usualmente, un lanzamiento de versión. Las etiquetas no cambian, como lo hacen las ramas. 

git tag [tag name]

Usa esto para nombrar una etiqueta y capturar el estado del repositorio en tiempo real.

git tag -d [tag name]

¿Quieres remover una etiqueta? Ejecuta este comando.

git rm 

El comando git rm borra archivos, del directorio de staging y de aquel en que trabajas. Hay algunas maneras de probar git rm

git rm [file]

Este es el código básico para preparar un archivo, que será eliminado en el próximo commit.

git rm --cached

Esto remueve un archivo del área de staging, pero lo mantiene en el directorio en el cual estás trabajando, para que tengas una copia local, en caso de que la necesites.

git log

git log brinda un registro de todos los commits en la historia de un repositorio. ¿Listo para probarlo? Aquí vamos: 

git log [SHA] 

Un Algoritmo de Hash Seguro (SHA) es un identificador único para cada commit. Usa este comando para mostrar un commit específico, así como cada commit hecho previamente.

git log --stat

El comando muestra cuáles archivos se cambiaron en cada commit, cuántas líneas se añadieron y/o eliminaron, y cuántos archivos y líneas se editaron.

git show 

El comando git show da detalles sobre varios objetos Git, como árboles, etiquetas y commits

Aquí hay algunas maneras de ejercitar este comando: 

git show [SHA]

Es el más sencillo de los comandos git show. Usa el SHA que aprendimos previamente, para mostrar los detalles de cualquier objeto.

git show [SHA]:path/to/file

Esto mostrará una versión específica de un archivo que estás buscando cuando incluyes su SHA.

¿Todavía estás aprendiendo a usar Git, tienes preguntas sobre comandos mencionados, o solo estás ansioso por explorar aún más variaciones, para manipular tu código de mil maneras? Los tutoriales Git de Bitbucket son un gran recurso, profundo e interconectado, que te ayudará a llegar a donde quieras ir con Git.

Y deberías aprovechar todo esto a fondo. Después de todo, el software de código abierto, y la tecnología Git que lo impulsa, son el futuro de los negocios.

Estadísticas de uso de Github

Comandos En La Vida Real: Cómo Desarrollar Con Git + GitHub En WordPress

Aquí te presentamos muchos términos y trucos que pueden ser nuevos para ti.

Si no estás muy familiarizado con Git, entendemos que será un poco difícil ver cómo todos estos términos y trucos se unen, para funcionar en un escenario de la vida real.

Así que no terminaremos este texto sin darte una guía de apoyo, sobre cómo utilizar Git y GitHub para prepararte a la hora de desarrollar, sobre un sitio web de WordPress.

1. Instala WordPress.org

Primero, la parte relacionada con WordPress.

Comenzarás instalando una instancia de WordPress.org (conoce aquí la diferencia entre WordPress.com y WordPress.org) y crea un ambiente de pruebas local en tu computador. 

Si aún no tienes establecido un buen proceso y herramientas ideales para esto, nos gusta Local WP, una herramienta enfocada en desarrollo WordPress. ¡Te la recomendamos!

2. Instala Git

Luego, llega la hora de maniobrar con Git.

Instala Git si no lo has hecho aún. Encontrarás su última versión en el sitio web de Git

Muchas máquinas con Mac y Linux, ya traen instalado Git. Verifica la tuya, abriendo tu interfaz de línea de comandos (como Terminal en Mac o Git Bash en Windows), e ingresando el primer comando de este tutorial.

git --version

Si Git está instalado, recibirás un número de versión de vuelta. Si no, esta guía de instalación Git te dará una mano al comenzar.

3. Crea Un Repo Local Con Git

Ahora, crearemos tu repositorio local de Git.

Accede a la carpeta de tu tema de WordPress (hicimos este ejemplo con Twenty Twenty-One), mediante este comando:

cd/Users/[you]/Documents/Websites/[website]/wp-content/themes/twentytwentyone

Reemplaza [you] y [website] con tus propios nombres de carpetas. Luego, inicia este directorio como repositorio, con este comando:

git init

Para añadir cada fila del directorio al índice, escribe: 

git add

Confirma tus cambios con una nota que mantendrá tu historial organizado, con este comando:

git commit -m “first commit"

¡Tu repositorio local ha quedado configurado!

4. Crea Un Repo Remoto Con GitHub 

A estas alturas, deberías crear una cuenta en GitHub, si es que aún no tienes la tuya. 

Una vez la crees y entres, podrás crear un repositorio remoto, desde tu panel en GitHub.

Creando un nuevo repo remoto en GitHub.

Una vez termines de seguir los pasos, para configurar tu nuevo proyecto, llegará la hora de llevar tu tema de WordPress a tu nuevo repositorio remoto, ya en GitHub.

5. Añade Tu Proyecto WordPress A GitHub (Aprendiendo A Hacer Push)

Usa estos comandos en Git para llevar tu tema WordPress a GitHub:

git remote add origin [repo URL]
git push -u origin master

Reemplaza la URL entre corchetes, con un enlace al repo que configuraste en GitHub.

Después, ingresa tu nombre de usuario y contraseña de GitHub.

Una vez ingreses esos datos, los archivos confirmados en tu repositorio local, hasta este momento, se enviarán a tu repo de GitHub.

6. Paso Opcional: Obtener (Pull) Actualizaciones

Ahora que has trasladado los cambios de tu repositorio local, al repo remoto de GitHub, lo último que debes aprender, es cómo obtener cambios para lograr lo contrario: añadir actualizaciones, desde tu repositorio remoto, hacia el local.

Claro, si trabajas de manera independiente en tu proyecto de codificación, no necesitarás este paso. Pero conocerlo es útil, pues se vuelve necesario cuando colaboras con un equipo que hace y envía actualizaciones.

Entonces, obtengamos actualizaciones desde el repositorio local, con el comando fetch

git fetch [URL]

Recuerda reemplazar [URL] con el enlace del repo de origen de las actualizaciones.

Así, los cambios se obtendrán directamente desde GitHub y se copiarán en tu repo local, para que ambos repositorios sean iguales. ¡Estarás sincronizado y listo, para trabajar en la versión más reciente de tu proyecto!

¿Todavía necesitas ayuda con Git?

Para obtener una explicación más detallada, consulta nuestra guía Cómo Usar GitHub Para Desarrollo WordPress.

O, mejor aún, contacta a nuestros expertos en desarrollo de DreamHost

Permítenos encargarnos de los ajustes ocasionales en tu sitio web, o de la administración completa del sitio, para que tu equipo pueda volver al trabajo de desarrollo y gestión que impulsará a tu negocio en adelante.

Imagen de fondo del anuncio

Tú Lo Sueñas, Nosotros Lo Codificamos

Aprovecha nuestros más de 20 años de experiencia en programación, al elegir nuestro servicio de Desarrollo Web. Solo dinos qué deseas para tu sitio — y nosotros nos encargaremos.

Más Información

Ian es un Diseñador de Producto ubicado en Los Ángeles, California. Es responsable de impulsar la marca y el diseño de productos en DreamHost, desarrollar y mantener nuestro sistema de diseño interno y escribir código de interfaz cuando puede. En su tiempo libre, disfruta pasear a su perro, aprender historia y descubrir nueva música en línea así como en la vida real. Conéctate con él en LinkedIn: https://www.linkedin.com/in/ianhernandez23/