Comandos comunes de Git

27/10/2025

git GitHub consejos

git es una herramienta para el control de versiones de código, respaldo de código, y colaboración. En otro post hice un tutorial para aprender a usar git y GitHub con R y RStudio. En este post voy a mantener una lista1 de los comandos que más uso en git, así como los comandos que necesito para resolver los problemas más frecuentes.

Otro recurso mucho más completo es ohshitgit.com, que como su nombre indica, está enfocado en resolver problemas comunes con git.

Comandos git básicos

Crear repositorio git en proyecto de RStudio

Recomendado: crearlo con la ayuda del paquete {usethis}:

usethis::use_git()

Crearlo manualmente por la terminal, verificando que esté apuntando a la carpeta de tu proyecto de R:

git init

Para más información sobre la integración de R con git, revisa este post. También existe el libro Happy Git with R, que detalla todos los pasos necesarios para poder usar git con R, incluyendo soluciones a problemas comunes.

Ver estado del repositorio

Para ver qué archivos han sido modificados, cuáles están en el área de preparación, y cuáles no:

git status

Agregar archivos al área de preparación (staging area)

Cuando creaste o modificaste archivos, y quieres registrarlos para ser agregados a la nueva versión del proyecto:

git add archivo.R

Para agregar todos los archivos cambiados desde el último commit:

git add .

Esto hará que los archivos pasen al área de staging o preparación, para que estén listos para hacer el commit y guardar una nueva versión del código.

Guardar los cambios preparados en una versión (commit)

Un commit es la operación en la que tomas los archivos del área de preparación (agregados con git add) y los guardas como una nueva versión del proyecto.

Recomiendo primero confirmar el estado de los archivos con git status, así sabemos qué cosas están modificadas y no staged (no se agregan a la versión), cuáles están staged (sí se agregan a la versión), y otros temas.

Luego creamos el commit, agregando un mensaje que describa los cambios de esta versión:

git commit -m "procesamiento de datos actualizado"

Cambiar un mensaje de commit

Por si te equivocaste en el mensaje del commit anterior, te permite cambiar el mensaje, siempre que lo ejecutes antes de haber hecho push

git commit --amend -m "nuevo mensaje de commit"

Ver todos los commits que has hecho

Te entrega una lista con las versiones de tu repositorio, con sus mensajes respectivos y el índice de cada uno de ellos (un código único que identifica cada cambio)

git log

También está el comando git reflog, que muestra un historial de todos los movimientos en el repositorio, incluyendo commits, cambios de ramas, y otras operaciones.

git reflog

Subir los cambios guardados al repositorio remoto

Asumiendo que tu proyecto de RStudio tiene un repositorio git, que has hecho commit de tus cambios, y que ya conectaste el repositorio local con un repositorio remoto en GitHub o GitLab:

git push

Si no has creado una versión remota de tu repositorio aún, puedes usar el comando use_github() para crear una rápidamente.

usethis::use_github()

Ramas

Crear rama

git branch ramita

Cambiarse de rama

git switch ramita

Evitar problemas

Vacunar tu proyecto de R

Agregar archivos generalmente indeseables de R a tu .gitignore para prevenir problemas.

usethis::git_vaccinate()

Solucionar problemas

Deshacer git add archivo.R

Por si la embarraste y agregaste un archivo incorrecto a la zona de preparación:

git rm archivo.R

Deshacer git add .

git reset

Modificar el commit anterior

Hacer el cambio, luego git add {cambio}:

commit --amend --no-edit

Deshacer commit

Si guardaste una versión del código pero ésta tenía archivos equivocados, puedes deshacer el commit pero sin perder los cambios que hiciste. Con esto, tu repositorio volverá a la versión antes del commit, pero el código y archivos nuevos no se perderán, y estarán disponibles para volver a agregarlos con git add y rehacer la versión con git commit.

git reset --soft HEAD~1

Deshacer commit con violencia

git reset HEAD~ --hard

Eliminar archivos agregados con git add después del commit

Para cuando agregaste archivos al commit pero luego te das cuenta que no debías haberlo hecho. Por ejemplo, si agregaste un archivo muy grande por error:

git rm --cached "archivo"
git commit -m "mensaje"
git push -u origin branch

Cambiar mensaje del último commit

git commit --amend -m 'nuevo mensaje del ultimo commit'

Recuperar cambios

Deshacer un commit

Buscar el hash del commit problemático:

git log

Y cuando identifiquemos el commit que queremos revertir:

git revert 7104ab4eadb6a69fcff94e3b41945e91a55f7294

Revertir un archivo a una versión anterior

Identificar el hash del commit que cambió el archivo con `git log``

git restore archivo.R --source=89f46bd5f0a7ccee8c94eb11061e7f9c5dc7d6d2

Y el archivo volverá a su versión anterior. Luego también puedes volver a hacerlo para ir saltando entre versiones.

Volver al último commit

Borra el último commit, perdiendo tus cambios locales.

git reset --hard HEAD

Volver a una versión anterior de tu código

Busca el índice de la versión a la cual quieres volver, y usa git reset para regresar a esa versión:

git reflog
git reset HEAD@{index}

Forzar cambios

Forzar push

Por si no te deja subir los cambios, pero estás segurx de que quieres sobreescribir el repositorio remoto con tu versión local:

git push origin main --force

Forzar pull

Cuando la versión del código que te importa es la remota (en GitHub o equivalente) y deseas descartar los cambios locales, por ejemplo, si hiciste cambios locales pero no puedes subirlos porque olvidaste ahcer pull antes):

git fetch --all
git branch backup-main
git reset --hard origin/main

Ramas

Aprende a hacer ramas online aquí

Configuraciones

Revisar si la configuración de git y GitHub son correctas

usethis::git_sitrep()

Cambiar el editor de texto por defecto

Por si detestas Vim y quieres usar un editor más simple como Nano:

git config --global core.editor "nano"

Así cuando necesitas introducir texto al usar git, se abre un editor más amigable para escribir mensajes de commit y otros. Puedes revisar esta configuración con saperlipopette::exo_check_editor(".")

Cambiar nombre por defecto de las ramas

Si te pasa como a mi y las ramas de tus proyectos usan el nombre antiguo, master, usa este comando para que en los siguientes proyectos pasen a llamarse main:

git config --global init.defaultBranch main

Actualizar token vencido

Si se vence el token que usas en tu computador (que se usa para darle permiso a tu computador para acceder a tu cuenta), genera uno nuevo en GitHub, cópialo, y en R ejecuta:

gitcreds::gitcreds_set()

Podrás pegar el nuevo token en la consola, y tu computador quedará autorizado para volver a hacer pull a tus repositorios.


Recursos

Recursos para aprender a usar git con R:


  1. Hago esto porque tengo una nota en el computador con todos los comandos y siempre vuelvo a buscarla para copiarlos, así que mejor dejo todo eso acá 😋 ↩︎

Fecha de publicación:
October 27, 2025
Extensión:
7 minute read, 1295 words
Tags:
git GitHub consejos
Ver también:
Tipografías lindas para programar en R: Fira Code
Posit Assistant, una IA para análisis de datos integrada en RStudio
Extensiones recomendadas para mejorar tus gráficos de `{ggplot2}`