Git no me permite rebase (los files sin seguimiento se sobrescribirán). ¿Que debería hacer?

Solo quiero editar / modificar el text de un commit anterior de Git.

Ejecuté lo siguiente:

$ git rebase -i a41a407d6f53328d49267e6a8429b9492f023629 error: The following untracked working tree files would be overwritten by checkout: admin/roles/allowassign.php admin/roles/allowoverride.php admin/roles/assign.html admin/roles/assign.php admin/roles/manage.html admin/roles/manage.php admin/roles/managetabs.php admin/roles/override.html admin/roles/override.php Aborting could not detach HEAD 

Sin embargo, el git status no muestra ningún file sin seguimiento:

 $ git status On branch dev nothing to commit, working directory clean 

Tenga en count que admin / roles es un submodule del repository:

 $ git submodule 77c5addc1b210256da9171e3b286ffa5addd2478 admin/roles (heads/dev) 

Y listndo files ignorados:

 $ git status --ignonetworking On branch duf-moodle-dev Ignonetworking files: (use "git add -f <file>..." to include in what will be committed) blocks/moodleblock.class.php.bak filter/tex/mimetex.exe lib/smarty/COPYING.lib nothing to commit, working directory clean 

Guardar guardado GIT no tiene ningún resultado:

 $ git stash save --include-untracked No local changes to save 

Estaba leyendo, esa integración en Explorer Shell, puede tener ese resultado. Actualmente, las extensiones de Git, GIT GUI y SmartGIT están integradas en el shell de context. Esto puede causar un problema?

Mi propuesta es que el origen del problema es el uso de submodules. Mantengo algunos cambios como submodules.

¿Alguna idea de por qué el rebase interactivo da el error y cómo solucionarlo?

Además, incluso estaría bien tener una solución para editar / modificar una descripción de confirmación más antigua sin usar rebase …

La solución fue eliminar el submodule del repository principal (unsubmodule). Entonces fue posible hacer rebase.

He pasado mucho time con este problema cuando recibí lo siguiente:

 error: The following untracked working tree files would be overwritten by checkout: index.php ...... (too many lines) Please move or remove them before you can switch branches. 

En general, uno tiene que simplemente registrar los files y luego pagar. También podría, agregar y esconderlos. Tal vez primero considere forzar el pago como:

 git checkout --force master 

Puedo sugerir que también mire Los siguientes files de tree de trabajo sin seguimiento se sobrescribirán con el pago y envío , ¡lo cual me ayudó mucho!

Tuve un problema similar, pero en mi caso fue causado por el cambio de mayúsculas y minúsculas en los nombres de los files mientras usaba Windows (lo que parece confundirlo). Lo resolví usando un Linux virtualizado, revisando esa twig y haciendo la rebase desde allí.