Tengo el siguiente estado de árbol de trabajo
$ git status foo/bar.txt
# On branch master
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# deleted by us: foo/bar.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
El archivo foo/bar.txt
está allí y quiero volver al estado "sin cambios" (similar a 'svn revert'):
$ git checkout HEAD foo/bar.txt
error: path 'foo/bar.txt' is unmerged
$ git reset HEAD foo/bar.txt
Unstaged changes after reset:
M foo/bar.txt
Ahora se está volviendo confuso:
$ git status foo/bar.txt
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: foo/bar.txt
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: foo/bar.txt
#
¿El mismo archivo en ambas secciones, nuevo y modificado? ¿Qué tengo que hacer?
77
Desearía que alguien pudiera explicar cómo entramos en esta situación, por qué sucede y por qué funciona la solución.
—
Marcos Dione
Me metí en esta situación cuando saqué mi alijo después de un rebase que me metió en un conflicto de fusión (alijo pop hace una fusión) ... Para resolverlo, hice un "pago - el suyo" ... aparentemente mi los cambios todavía estaban allí ... para eliminarlos ... Intenté volver a pagar en el archivo ... ahí fue cuando vi el error anterior.
—
Arindam Roychowdhury