Comandos comunes de Git

27/10/2025

git programación

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

git init
usethis::use_git()

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 archivoc, 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 .

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 y los guardas como una nueva versión del proyecto. Siempre hay que agregar un mensaje que describa los cambios de esta versión:

git commit -m "script de procesamiento de datos actualizado"

Cambiar un mensaje de commit

Por si te equivocaste en el mensaje de commit, 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()

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

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

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

Recuperar cambios

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í


  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:
4 minute read, 761 words
Tags:
git programación
Ver también:
Tutorial: crea páginas web y blogs con R+Quarto, y publícalos online con GitHub Pages
Herramientas básicas para programar con R