Saltar al contenido

Error: los siguientes archivos de árbol de trabajo sin seguimiento se sobrescribirán mediante el proceso de pago.

Solución:

Esto también podría suceder debido a un cambio de caso en el nombre del archivo. Tuve el mismo problema y esto es lo que me solucionó.

git config core.ignorecase true

Verdadero para Mac o PC.

Soluciones alternativas en: Checkout sobrescribirá los siguientes archivos de árbol de trabajo sin seguimiento

Sin una imagen completa del repositorio, lo que sigue es más una suposición que cualquier otra cosa, pero podría explicar la situación. Digamos que su historial se ve de la siguiente manera:

A -- C [origin/master]
   
   B [HEAD, master]

Usted escribe:

Este archivo ha estado apareciendo constantemente y cuando lo elimino del sistema de archivos, git dirá que eliminé este archivo, mientras que en los otros mensajes, dice que no está rastreado.

Supongo que puedes haber corrido

git rm --cached <file-in-question>

y cometió esa eliminación en el compromiso B; por lo tanto, el archivo ya no se rastrea en su repositorio local y aún está presente en su árbol de trabajo.

Mientras tanto, la rama ascendente recibió el compromiso C de uno de tus colaboradores, en el que <file-in-question> era no eliminado del control de versiones. Lo que intentas lograr con

git pull --rebase

es algo como esto:

 A -- C [origin/master]
        
        B' [HEAD, master]

Sin embargo, como dice el mensaje,

los […] árbol de trabajo sin seguimiento [file] sería sobrescrito por el pago

De hecho, rebobinar el compromiso C (para reproducir B encima) daría lugar a la revisión de <file-in-question> (de cometer C) para comprobarlo en su árbol de trabajo, en el que ya existe un archivo sin seguimiento con el mismo nombre. El contenido de ese archivo sin seguimiento puede ser valioso; es posible que no desee que ese archivo se sobrescriba con otra versión del mismo. Por lo tanto, Git se detiene en su camino y le dice qué está mal.

Editar: Aquí hay un ejemplo de bebé que reproduce la situación …

cd ~/Desktop
mkdir test
cd test
git init
touch README.md
git add README.md
git commit -m "add README"

# simulate a remote branch moving ahead by one commit
# (that doesn't remove the README)
git checkout -b origin_master
printf "This is a README.n" > README.md
git add README.md
git commit -m "add description in README"

# remove the README and create a new commit on master
git checkout master
git rm --cached README.md
git commit -m "remove README"

# simulate an attempt to rebase master to its "upstream" branch, origin_master
git rebase --onto origin_master master

Ese último comando arroja lo siguiente:

First, rewinding head to replay your work on top of it...
error: The following untracked working tree files would be overwritten by checkout:
    README.md
Please move or remove them before you can switch branches.
Aborting
could not detach HEAD

Te sugiero que corras

git fetch
git log --stat origin/master..master -- <file-in-question>

para comprobar si sucedió algo así.

Elimine todos los archivos sin seguimiento (cuidado):

git clean  -d  -fx ""
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *