Hoja de referencia de 32 comandos Git para principiantes
Publicado: 2022-09-23La hoja de trucos de los comandos GIT es una referencia útil para los desarrolladores y contiene los comandos más utilizados para los proyectos git.
¿Qué es GIT?
GIT es un repositorio de código abierto donde los usuarios pueden colocar sus archivos, incluido el código, los archivos comprimidos, el texto o el proyecto completo.
Tiene varias funciones, como colaboración, control de versiones, control de procesos, etc. GIT almacena archivos de manera más eficiente y brinda una mejor integridad que otros sistemas de control de versiones. Git es una herramienta de línea de comandos.
¿Qué es GitHub?
Con su ordenada interfaz de usuario, GitHub, un centro para desarrolladores, se ha convertido en el sistema de control de versiones más utilizado y cualquiera puede acceder a él desde cualquier lugar.
Flujo de trabajo Git
Git tiene diferentes flujos de trabajo y cada proyecto debe tener uno según sus requisitos. El flujo de trabajo de Git no es más que un flujo de trabajo ligero basado en ramas que ayuda a los equipos que implementan proyectos con regularidad.
Por ejemplo, un flujo de trabajo bifurcado de Git crea una copia local del repositorio. Entonces, cada desarrollador tiene un espacio de trabajo local y un repositorio central. Este tipo de flujo de trabajo es bueno cuando participan varios desarrolladores y les permite colaborar en la copia bifurcada antes de realizar cambios en el repositorio principal.
¿Por qué necesitamos Git?
Como Git es un sistema de control de versiones, los desarrolladores trabajan constantemente en él para guardar sus cambios, hacerlos visibles para otros, fusionar sus cambios con otros y mucho más.
Para cualquier cambio en el repositorio de Git, los desarrolladores deben conocer los comandos correctos para la acción correcta. A continuación se muestra una lista de los comandos de Git importantes y de uso común:
Comandos comunes de Git
añadir
Para agregar los archivos especificados a la puesta en escena
git add <file> -- add a specific file git add * -- add all the files
archivo git
Crea archivos de confirmaciones, ramas y árboles y combina varios archivos en uno. Puede recuperar el contenido extrayendo los archivos cuando sea necesario
git archive HEAD
: crea un archivo a partir de la referencia HEAD del repositorio
git archive output = '.tar'
— almacena los archivos archivados en la ubicación dada
git archive --format=tar.gz
— especifica el formato del archivo archivado, como tar, zip, tar.gz
rama git
Enumera todas las sucursales en el repositorio. Se creará una nueva rama con el nombre si se especifica una rama. Para eliminar una rama, use la opción -d con el nombre de la rama. Para cambiar el nombre de una rama actual, use -m.
git branch
— enumera todas las ramas
git branch <branch_name
> : crea una nueva rama llamada 'branch_name' pero no verifica la nueva rama.
git branch -d <branch_name>
: elimina la rama, evita la eliminación si hay cambios no combinados
git branch -D <branch_name>
: fuerce la eliminación de la rama incluso si hay cambios no combinados
git branch -m <branch2>
— cambia el nombre de la rama actual
git gato-archivo
Mostrar información sobre el contenido o el tamaño/tipo de los objetos del repositorio
git cat-file <object>
— muestra el contenido del objeto
git cat-file -t <object>
— muestra el tipo de objeto
git cat-file -s <object>
— muestra el tamaño del objeto
git cat-file -p <object>
— imprime el tipo de objeto de una manera bonita
git cat-file -e <object>
: muestra el error en stderr si el objeto tiene un formato no válido o no existe
git cat-file <type> <object>
— muestra el contenido sin procesar de un objeto
pago git
Para cambiar entre diferentes ramas de un repositorio, utilícelo con cuidado, ya que no hay 'deshacer' para ello.
git checkout <branch_name>
— extrae la rama especificada
git checkout -b <branch_name>
— crea una nueva rama y cambia a esta rama
Por ejemplo:
C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'
limpiar
Limpiar el director de trabajo. Los archivos que están comprometidos no se eliminarán
git clean -n
: enumera los archivos que se eliminarán
git clean -f
— elimina los archivos
clonar
Cree una copia del repositorio existente en un nuevo directorio. Útil para obtener una copia de desarrollo de un repositorio central.
git clone <central_repo> <new_dir>
— crea una copia del repositorio central en un nuevo directorio
Por ejemplo:
C:\Users\geek>git clone geekflare master Cloning into 'master'… done.
git clone -branch <branch> <repo>
— clona una rama del repositorio mencionado
git cometer
Guarda los cambios en un entorno de prueba para que otros puedan verlo.
git commit
: confirma los cambios en la puesta en escena
git commit -m <useful_msg>
— da un mensaje al confirmar para resaltar los cambios realizados
git commit -a
— confirma los cambios directamente, sin preparación
Supongamos que agregó un archivo llamado samplefile.txt a su directorio de trabajo y desea confirmar el archivo. Al dar el comando anterior, obtendrá el resultado:
Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt
Una vez que das el mensaje, los cambios se confirman:
C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt
configuración de git
Especifica el nivel de configuración para escribir un valor de propiedad. El nivel 'Local' es el predeterminado (cuando no se especifica nada).
git config –local
— guarda la configuración en el directorio .git del repositorio
git config –global
— guarda la configuración en el directorio de inicio del usuario
git config –system
— contiene la configuración de todos los usuarios y repositorios y se encuentra en el archivo de configuración de git de la raíz.
diferencia de git
Compare los cambios en el repositorio de git, que se pueden realizar antes de la preparación, durante la preparación y después de la preparación (confirmación).
git diff
: realiza un seguimiento de los cambios en el repositorio que aún no están preparados
git diff --staged
— realiza un seguimiento de los cambios de los archivos preparados (que no están comprometidos)
git diff HEAD
: realiza un seguimiento de los cambios en el archivo después de la confirmación
git diff <commit1_id> <commit2_id>
— realiza un seguimiento de los cambios entre dos confirmaciones; puede encontrar los commit_ids usando ' git log -p --follow --filename
'
buscar
Obtener una sucursal o un repositorio remoto completo
git fetch <remote-url>
: obtenga el repositorio completo desde la URL del repositorio remoto
git fetch <branch_url> <branchname>
— recupera la rama específica
git fetch -all
— recupera todas las ramas de un repositorio remoto
git fetch origin
: actualice y sincronice el repositorio local con los nuevos cambios en el repositorio remoto
git fsck
El comando F ile S ystem C hec K comprueba la validez y la conectividad de los objetos de la base de datos. Comprueba el SHA-1ID de los objetos y las conexiones que hacen. Fsck es útil para recuperar confirmaciones y archivos perdidos.
git fsck –full
git gc
Ejecuta la recolección de basura en el repositorio actual y limpia los archivos no utilizados.
git gc
git grep
Busca contenido específico en el repositorio. Git ofrece muchas opciones para buscar de diferentes maneras
git grep -i 'search_term'
— buscar ignorando mayúsculas y minúsculas [Man y man serán iguales]
git grep -f <file_name>
— muestra patrones coincidentes de un archivo en particular
git grep -e 'search-term'
— usa -e para la coincidencia de patrones
git grep -E 'regexp|multiple_exp'
–Buscar expresiones regulares, podemos buscar múltiples usando el operador de canalización (OR)
git grep -n 'expr'
— número de línea de prefijo de la línea coincidente
git grep -c 'expr'
: muestra el recuento de líneas que coincidieron en lugar de cada línea
git ls-árbol
Para enumerar el contenido de un objeto de árbol del directorio actual.
git ls -tree -d <path>
: muestra solo la entrada de árbol especificada, no los elementos secundarios
git ls -tree -r
— recursividad en subárboles
git ls -tree -l
— muestra el tamaño de los objetos de archivo (blob)
git ls -tree --name-only
— muestra solo los nombres de archivo y no la salida larga
git ls -tree --full-name
— muestra los nombres completos de las rutas y no solo la ruta relativa al directorio actual
Ejemplo:
C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js
iniciar git
Cree un nuevo repositorio en blanco. Es el primer comando que ejecuta para hacer un proyecto git.

git init
: crea un repositorio .git en el directorio de trabajo,
Por ejemplo, para crear un nuevo repositorio llamado 'geekflare', dé el siguiente comando:
$ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/
git instaweb
Interfaz de usuario para navegar por el repositorio de git a través de un navegador. Utiliza el script CGI GitWeb para lo mismo.
git instaweb --httpd=webrick
— inicia el servidor (httpd) y abre el navegador web en la página.
Para detener el servidor, use el comando anterior con la opción -stop.
registro de git
Registra cada actividad en el repositorio de git.
git log
: muestra las últimas confirmaciones
git log --oneline
: muestra el resultado como los primeros 7 caracteres de SHA y el mensaje de confirmación con una confirmación por línea
git log stat
: muestra más información sobre los archivos modificados, como la cantidad de líneas agregadas/eliminadas, un resumen del total de registros modificados, líneas agregadas/eliminadas
git log --patch (or -p)
— muestra los archivos modificados, los cambios específicos y su ubicación
git log --graph
— Ver los resultados del registro en forma de gráfico
git log -<n>
— muestra el último número 'n' de confirmaciones
git log --after=<date/x days/yesterday>
: muestra todas las confirmaciones después de una fecha específica. Puede usar --before
para mostrar confirmaciones antes de la fecha especificada
git log --author=<author_name>
— muestra las confirmaciones de un autor en particular (usuario).
git log --grep=<commit message>
: filtra las confirmaciones en función del mensaje de confirmación
combinación de git
Integra todos los archivos de desarrollo en una sola rama, combina dos ramas y fusiona varias confirmaciones en un solo historial. La fusión se detiene si hay un conflicto y git presenta los archivos de conflicto. Una vez que se resuelven los conflictos, la fusión continúa.
git checkout -b
— primero, revisa la rama para fusionar
git add <file>
git commit
— agrega y confirma los archivos
git checkout master
git merge
— fusiona la rama con el maestro
ciruela pasa
Elimina (poda) los archivos a los que no se puede acceder desde la rama actual. Es un proceso de limpieza para eliminar archivos no utilizados de la rama.
git prune -n
— no podar, solo mostrar todo lo que se puede podar
git prune -v
— muestra el resultado de las acciones realizadas por la ciruela pasa
git prune --progress
— muestra el progreso de la ciruela pasa
git fetch --prune
— poda todas las ramas obsoletas
tirar de git
Recibe datos de un servidor remoto a un repositorio de trabajo. Actualiza la rama local (en funcionamiento) con todos los archivos más recientes del repositorio remoto.
git pull
— extrae el repositorio remoto
git pull <repo URL>
— extrae una rama remota en particular
empujar git
Empuja todos los cambios locales al repositorio remoto. Es un proceso de carga exactamente opuesto a los comandos de extracción y recuperación.
git checkout master
: revisa la rama que tiene los últimos cambios
git push origin master
: envía los cambios al repositorio remoto
Ejemplo:
C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch
También podemos usar push para eliminar una rama remota usando el comando git push --delete <branch>
.
Por ejemplo:
C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch
git rebase
Combina varias confirmaciones de diferentes ramas para crear una nueva confirmación base final. Útil antes de fusionar todos los cambios, para enviar cambios de diferentes ramas uno por uno (linealmente).
git rebase <branch name>
: combine las confirmaciones en una base final
Si hay algún conflicto, resuélvalo y continúe con el rebase:
git rebase --continue
Para omitir cualquier cambio:
git rebase --skip
git remoto
Comprueba la configuración del servidor remoto y permite el acceso de conexión entre remoto y local.
git remote
: de forma predeterminada, devuelve 'origen', el nombre predeterminado del servidor remoto proporcionado por Git
git remote -v
: enumera los nombres cortos y las URL de todas las conexiones remotas disponibles
git remote add <short name> <remote url>
: agrega explícitamente el servidor remoto a las conexiones disponibles. El nombre corto se puede usar para los comandos de git en lugar de proporcionar la URL completa.
git remote remove <remote url/short name>
: elimina el servidor remoto del repositorio
reiniciar
Volver a una confirmación anterior y descartar los cambios realizados después de esa confirmación
git reset <hash of the commit>
: restaura el repositorio a la confirmación especificada. Git conservará el historial de confirmaciones, por lo que puede hacer otro reinicio con una confirmación diferente (hash) para deshacer un reinicio.
git rm
Elimina el archivo específico de git. Puede deshacer el efecto de rm usando el comando reset o checkout
git rm <file_ name>
— elimina el archivo específico
Para eliminar archivos de git pero mantenerlos en su local (puesta en escena), use:
git rm --cached
mostrar
Vea cualquier objeto como blob, árbol, confirmación o etiqueta especificando su SHA1
git show
: no especificar el <objeto> muestra los detalles de la última confirmación en la rama.
git show <SHA1_id>
: muestra el contenido del objeto especificado por su ID SHA1, por ejemplo, ID de blob, ID de árbol, etc. Para verificar el tipo de objeto, use el comando git cat-file -t
git show –pretty
— muestra la salida en un formato bonito.
Puede proporcionar un formato personalizado:
git show --pretty = 'format:Name: <format>'
O puede usar uno de los formatos corto, completo, de una línea, medio o más completo, por ejemplo:
git show --pretty= 'medium'
— esto mostrará el autor, la fecha, el título y el mensaje de confirmación completo
git show --abbrev-commit
— para abreviar SHA1
alijo de git
Para cambiar de rama sin confirmar en la rama actual, almacene los datos no confirmados de forma segura
git stash
: guarda el trabajo y el estado del índice
git stash save <message>
: envía un mensaje mientras guardas
git stash list
— Ver la lista de contenido escondido
git stash apply
— confirma los cambios guardados. Para aplicar los cambios de un alijo específico, use la identificación del índice del alijo junto con aplicar
git stash show
— ver el contenido de los archivos escondidos
git stash drop
: elimina el alijo más reciente de la cola
estado de Git
Ver el estado del repositorio y la puesta en escena, es decir, el estado antes de la etapa de confirmación. Puede usar este comando después de cualquier otro comando de git, como agregar, actualizar o eliminar un archivo.
git status
: muestra los cambios que se van a confirmar o los cambios sin seguimiento (sin etapas)
Por ejemplo, si agrega un archivo en su directorio de trabajo llamado samplefile.txt y verifica si está agregado, puede dar el comando anterior. Dará como resultado la salida de la siguiente manera:
On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt
etiqueta git
Las referencias amigables se utilizan para indicar hitos o puntos de referencia en el código.
git tag <tag_name>
— crea una etiqueta con el nombre dado
git tag
— enumera todas las etiquetas disponibles
git tag show <tag_name>
— muestra los detalles de la etiqueta especificada
git tag -l “.*”
— muestra las etiquetas que coinciden con el patrón o los caracteres especificados
gitk
Inicia la interfaz de usuario de git que muestra el contenido, las confirmaciones, la diferencia completa y otros detalles en una ventana.
gitk
: abre el repositorio de git en una ventana para su visualización
versión git
Use el comando git version para verificar la versión de git que está usando.
C:\Users\geekflare>git version git version 2.38.0.windows.1
Ultimas palabras
Esta publicación ha enumerado los comandos git más utilizados con sus opciones.
A continuación, puede consultar el escáner de credenciales de GitHub.