Para deshacer un git add antes de un commit, ejecuta git reset <archivo> o git reset para deshacer todos los cambios.

En versiones antiguas de Git, los comandos eran git reset HEAD <archivo> y git reset HEAD respectivamente. Esto se cambió en Git 1.8.2

Puedes leer más sobre otras acciones de Git comúnmente usadas en estos útiles artículos:

Aquí hay un poco más de información de fondo sobre Git

Comprende las Tres Secciones de un Proyecto de Git

Un proyecto de Git tendrá las siguientes tres secciones principales:

  1. El directorio de Git (Git directory)
  2. El directorio de trabajo (working directory) o árbol de trabajo (working tree)
  3. La zona de montaje (staging area)

El directorio de Git (localizado en TU-RUTA-DEL-PROYECTO/.git/) es donde Git almacena todo lo que necesita para rastrear el proyecto con precisión. Esto incluye metadatos y una base de datos de objetos que incluye versiones comprimidas de los archivos del proyecto.

El directorio de trabajo es donde un usuario hace cambios locales a un proyecto. El directorio de trabajo extrae los archivos del proyecto de la base de datos de objetos del directorio de Git y los coloca en la máquina local del usuario.

La zona de montaje es un archivo (también llamado "index", "stage", o "cache") que almacena la información sobre lo que irá en su próxima confirmación. Una confirmación es cuando le dices a Git que guarde estos cambios escalonados. Git toma una captura de los archivos tal y como están, y la almacena permanentemente en el directorio de Git.

Con tres secciones, hay tres estados principales en los que un archivo puede estar en cualquier momento: confirmado (committed), modificado (modified) o puesto en escena (staged). Se modifica un archivo cada vez que se hacen cambios en el directorio de trabajo. Luego, se pone en escena cuando lo mueves a la zona de montaje. Finalmente, se confirma después de realizar un commit.

Instalar Git

Configurar el entorno de Git

Git tiene una herramienta git config que te permite personalizar tu entorno Git. Puedes cambiar el aspecto y las funciones de Git estableciendo ciertas variables de configuración. Ejecuta estos comandos desde una interfaz de línea de comandos en tu máquina (Terminal en Mac, Command Prompt o Powershell en Windows).

Hay tres niveles de donde se almacenan estas variables de configuración:

  1. Sistema: ubicado en /etc/gitconfig, aplica la configuración por defecto a cada usuario de la computadora. Para hacer cambios en este archivo, usa la opción --system con el comando git config.
  2. Usuario: ubicado en ~/.gitconfig o ~/.config/git/config, aplica las configuraciones a un solo usuario. Para hacer cambios en este archivo, usa la opción --global con el comando git config.
  3. Proyecto: ubicado en TU-RUTA-DEL-PROYECTO/.git/config, aplica las configuraciones sólo al proyecto. Para hacer cambios en este archivo, usa al comando git config.

Si hay configuraciones que entran en conflicto entre sí, las configuraciones de nivel de proyecto anularán las de nivel de usuario, y las de nivel de usuario anularán las de nivel de sistema.

Nota para los usuarios de Windows: Git busca el archivo de configuración a nivel de usuario (.gitconfig) en tu directorio $HOME (C:\Users\$USER). Git también busca /etc/gitconfig, aunque es relativo al root de MSys, que es donde decides instalar Git en tu sistema Windows cuando ejecutas el instalador. Si estás usando la versión 2.x o posterior de Git para Windows, también hay un archivo de configuración a nivel de sistema en C:\Documents and Settings\All Users\Application Data\Git\config en Windows XP, y en C:\ProgramData\Git\config en Windows Vista y posteriores. Este archivo de configuración sólo puede ser cambiado por git config -f FILE como un administrador.

Agregar Tu Nombre y Correo Electrónico

Git incluye el nombre de usuario y el correo electrónico como parte de la información en un commit. Querrás configurar esto en tu archivo de configuración de usuario con estos comandos:

git config --global user.name "Mi Nombre"
git config --global user.email "micorreo@ejemplo.com"

Cambiar Tu Editor de Texto

Git utiliza automáticamente tu editor de texto predeterminado, pero puedes cambiarlo. Aquí tienes un ejemplo para usar el editor Atom en su lugar (la opción --wait le dice al shell que espere al editor de texto para que puedas hacer tu trabajo en él antes de que el programa avance):

git config --global core.editor "atom --wait"

Agregar Color a la Salida de Git

Puedes configurar tu shell para agregar color a la salida de Git con este comando:

git config --global color.ui true

Para ver todos tus ajustes de configuración, usa el comando git config --list.

Inicializar Git en un Proyecto

Una vez que Git esté instalado y configurado en tu computadora, debes inicializarlo en tu proyecto para empezar a usar sus poderes de control de versiones. En la línea de comandos, utiliza el comando cd para navegar hasta la carpeta de nivel superior (o raíz) de tu proyecto. A continuación, ejecuta el comando git init. Esto instala una carpeta del directorio de Git con todos los archivos y objetos que Git necesita para rastrear tu proyecto.

Es importante que el directorio de Git se instale en la carpeta raíz del proyecto. Git puede rastrear archivos en sub carpetas, pero no rastreará los archivos ubicados en una carpeta principal relativa al directorio de Git.

Obtener Ayuda en Git

Si olvidas cómo funciona cualquier comando en Git, puedes acceder a la ayuda de Git desde la línea de comandos de varias maneras:

git help COMANDO
git COMANDO --help
man git-COMANDO

Esto muestra la página del manual del comando en su ventana shell. Para navegar, desplázate con las teclas de flecha arriba y abajo o utiliza los siguientes atajos de teclado:

  • f o barra espaciadora para avanzar la página
  • b para volver a la página
  • q para salir

Traducido del artículo - How to Undo a Git Add