No se puede finalizar la compra, el archivo no se fusionó


85

Estoy tratando de eliminar el archivo de mi directorio de trabajo, pero después de usar el siguiente comando

git checkout file_Name.txt

Recibí el siguiente mensaje de error

error: path 'first_Name.txt' is unmerged

¿Qué es eso y cómo solucionarlo?

A continuación se muestra mi estado de git

$ git status
On branch master
You are currently reverting commit f200bf5.
  (fix conflicts and run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

        both modified:      first_file.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        explore_california/

no changes added to commit (use "git add" and/or "git commit -a")

Eso se movió al índice de ensayo pero no puedo limpiar la carpeta explore_california /
Naseer

1
Si desea eliminar explore_california, simplemente haga una, rm -r explore_californiaya que git no lo rastrea.
Brokenfoot

Lo que hizo es pedirme que elimine más de 50 archivos individualmente y sigo presionando y.
Naseer

Pero funcionó finalmente.Gracias
Naseer

Respuestas:


28

Para eliminar archivos rastreados (first_file.txt) de git:

git rm first_file.txt

Y para eliminar archivos sin seguimiento, use:

rm -r explore_california

124

Si desea descartar las modificaciones que realizó en el archivo, puede hacer lo siguiente:

git reset first_Name.txt
git checkout first_Name.txt

2
¿Necesita el argumento de doble guión? git reset - first_name.txt y git checkout - first_name.txt
erizo demente

2
Solo usa --para separar el árbol que desea desproteger de los archivos que desea desproteger. Para obtener una explicación más detallada, obtenga un botín aquí: stackoverflow.com/questions/13321458/…
cristianoms

4
Creo que es más seguro usar el guión doble git reset -- first_Name.txty git checkout -- first_Name.txten caso de que el nombre del archivo sea el mismo que el de una de sus ramas / etiquetas / confirmaciones.
joeytwiddle

18

el estado le dice qué hacer.

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

probablemente aplicó un alijo u otra cosa que cause un conflicto.

ya sea agregar, restablecer o rm.


2
Exactamente apliqué un alijo. Ahora la pregunta es cuándo usar add, cuándo resety cuándo usar rm. Por ejemplo, ¿no quiero mantener la versión oculta, sino la versión anterior?
Pro Backup

14

Lo siguiente me funcionó

git reset HEAD

Estaba recibiendo el siguiente error

git stash
src/config.php: needs merge
src/config.php: needs merge
src/config.php: unmerge(230a02b5bf1c6eab8adce2cec8d573822d21241d)
src/config.php: unmerged (f5cc88c0fda69bf72107bcc5c2860c3e5eb978fa)

Entonces corrí

git reset HEAD

funcionó


4

No creo ejecutar

 git rm first_file.txt

es una buena idea.

  1. cuando git note que sus archivos no están fusionados, debe asegurarse de haberlos comprometido.

  2. Y luego abra el archivo de conflicto:

    cat first_file.txt

  3. arreglar el conflicto

4.

git add file

git commit -m "fix conflict"

5. git push

debería funcionar para usted.


1

En mi caso, descubrí que necesito la opción -f. Como los siguientes:

git rm -f first_file.txt

para deshacerse del error "debe fusionarse".


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.