git add
git add: añade archivos al área de preparación.
El comando git add se usa en Git para mover cambios desde tu directorio de trabajo al área de preparación. Le dice a Git que quieres incluir las actualizaciones de uno o varios archivos concretos en el próximo commit. Aun así, git add no afecta al repositorio hasta que creas el commit con esos cambios. Puedes añadir varios archivos a la vez o usar patrones para añadir todos los archivos de un tipo concreto. También puedes añadir partes de un archivo al área de preparación de forma interactiva.
Preparar cambios es un paso previo a crear un commit en el control de versiones de Git. Te permite elegir y preparar archivos para un commit, en vez de incluir todos los cambios que has hecho desde el commit anterior. Esto sirve para organizar tus cambios en grupos manejables antes de registrarlos en el historial del proyecto dentro del repositorio.
git add es especialmente útil cuando has cambiado más de un archivo y quieres crear commits separados. Al añadir solo archivos concretos al área de preparación, controlas con precisión cómo se documentará el historial de tu proyecto paso a paso.
Por ejemplo, si has añadido una funcionalidad nueva en un archivo y has actualizado los estilos en otro, puedes preparar esos cambios por separado para crear dos commits distintos. Si más adelante quieres revertir los cambios de estilo, podrás hacerlo sin afectar a esa funcionalidad.
Ejemplos
Añadir un archivo concreto al área de preparación de Git:
git add README.mdAñadir todos los cambios del directorio actual, incluidos archivos nuevos y cambios en archivos existentes. El carácter . apunta al directorio actual, es decir, "todos los cambios del directorio actual":
git add .Añadir todos los archivos .txt del directorio actual:
git add *.txtSeleccionar partes concretas de los cambios para añadirlas al área de preparación de forma interactiva:
git add --patchO la forma corta:
git add -pQuitar del área de preparación un archivo que se había añadido antes:
git restore --staged README.md.gitignoregit checkoutgit configgit taggit worktree