Git: no se pueden deshacer los cambios locales (error: ruta ... no cargada)

Tengo un arbol estado trabajando

 $ 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 recuperarlo en el "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 es 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é debo hacer?

216
11 июня '10 в 11:04 2010-06-11 11:04 establecido por mklhmnn el 11 de junio de 2010 a las 11:04 2010-06-11 11:04
@ 5 respuestas

Lo hiciste mal. Primero debe restablecer el archivo y, a continuación, marcar para devolver los cambios locales.

Intenta lo siguiente:

 $ git reset foo/bar.txt $ git checkout foo/bar.txt 
375
11 июня '10 в 11:09 2010-06-11 11:09 La respuesta la da Igor Zevaka el 11 de junio de 2010 a las 11:09 2010-06-11 11:09

Funcionó muy bien para mí:

border=0
 $ git reset -- foo/bar.txt $ git checkout foo/bar.txt 
19
21 янв. Respondido por Steffi el 21 de enero 2015-01-21 14:44 '15 a las 14:44 2015-01-21 14:44
 git checkout origin/[branch] . git status 

// Note el punto (.) Al final. Y todo estará bien

7
30 апр. Responder Joe Hyde 30 de abril 2013-04-30 07:12 '13 a las 7:12 2013-04-30 07:12
 git checkout foo/bar.txt 
¿Has probado esto? (sin palabra clave HEAD)

Por lo general devuelvo mis cambios de esta manera.

-3
11 июня '10 в 11:09 2010-06-11 11:09 la respuesta es zed_0xff 11 de junio, 10 a las 11:09 2010-06-11 11:09

Considero que git stash es muy útil para procesar temporalmente todos los estados sucios.

-4
11 июня '10 в 11:39 2010-06-11 11:39 la respuesta se da, toma el 11 de junio de 2010 a las 11:39 2010-06-11 11:39

Otras preguntas sobre las etiquetas de o haga una pregunta