Hoja de referencia de 32 comandos Git para principiantes

Publicado: 2022-09-23

La 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.