En git, ¿hay alguna manera (simple) de modificar el índice para que solo se agreguen los cambios a los archivos que ya están en él? Suena algo complicado, pero lo que quiero lograr es simple.Actualizar archivos por etapas
permite decir mi índice se parece a esto (despojado poco git status
salida):
# Changes to be committed:
# modified: A
# modified: B
#
# Changed but not updated:
# modified: B
# modified: C
#
# Untracked files:
# D
Algunos cambios en B
están en el índice, algunos no lo son. C
no se organiza en absoluto.
¿Cómo puedo actualizar B
en el índice (estadifique sus cambios sin instancia) sin agregar C
?
I.e. Me gustaría que el índice de aspecto:
# Changes to be committed:
# modified: A
# modified: B
#
# Changed but not updated:
# modified: C
#
# Untracked files:
# D
En este caso sencillo que puede, por supuesto, puede lograr con un simple git add B
, pero me gustaría saber si hay una respuesta simple para el caso general. Intenté git add --refresh
, pero si entiendo correctamente, eso solo actualiza la información de estadísticas.
Se puede mostrar una caso de uso real en el que te gustaría hacer eso? No puedo imaginar ninguno (cuando agrego un archivo y lo modifico más, no significa automáticamente que también quiera agregar esos cambios, especialmente cuando no deseo agregar cambios en otros archivos). –
@JanHudec Probablemente no necesitaría esto si fuera más estricto y tocara solo aquellos archivos que deberían ir en la confirmación ('B'). Sin embargo, a veces me dejo llevar y empiezo a hacer cambios que deberían estar en una nueva confirmación ('C'), así que agregué' B' al índice. Antes de comprometerme, siempre reviso las diferencias y, a veces, limpio algo en 'B'. y es cuando necesito esto. Supongo que probablemente podría ser resuelto de otra manera, por ejemplo con stash – axelarge
Mi punto es que cuando estás haciendo algo en el archivo 'X' que debe ir en commit 'B' y dejarse llevar y hacer los cambios que deberían ir en commit 'C', algunos de esos cambios a menudo vuelven a ser' X'. En ese caso, desea agregar -i trozos individuales manualmente y no solo volver a agregar el archivo 'X'. Obviamente, si te dejas llevar, probablemente hayas notado algo alrededor del punto que estabas cambiando, por lo que es poco probable que los cambios adicionales no toquen los archivos que el puño establece. –