A veces, git sugiere git rm --cached
eliminar el escenario de un archivo, a veces git reset HEAD file
. ¿Cuándo debo usar cuál?
EDITAR:
D:\code\gt2>git init
Initialized empty Git repository in D:/code/gt2/.git/
D:\code\gt2>touch a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# a
nothing added to commit but untracked files present (use "git add" to track)
D:\code\gt2>git add a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: a
#
D:\code\gt2>git commit -m a
[master (root-commit) c271e05] a
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
D:\code\gt2>touch b
D:\code\gt2>git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# b
nothing added to commit but untracked files present (use "git add" to track)
D:\code\gt2>git add b
D:\code\gt2>git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
#
rm
deshacer add
? ¿Cómo crees que rm
debería comportarse?
git init
no hay HEAD
que restablecer.
rm
implica eliminación en un contexto unix. No es lo contrario de agregar al índice. Una función para eliminar archivos no debe sobrecargarse con funciones para cambiar el estado de preparación. Si hay detalles de implementación que hacen que sea conveniente combinarlos, eso simplemente señala la falta de una capa reflexiva de abstracción en git, lo que aclararía la usabilidad.
git rm
ambos pueden organizar una eliminación y también eliminar una adición )