git rebase falla – termina borrando file

Algunas veces experimento algo extraño cuando trato de volver a clasificar. La rebase falla, y uno de mis files modificados termina siendo marcado como eliminado.

¿Alguien puede ayudarme a entender lo que está pasando?

Este es el incidente más resentido:

He hecho un par de confirmaciones locales para una nueva twig de características:

C:\source\project [remove-index-html-from-urls]> git ll 97d1af8 (HEAD, remove-index-html-from-urls) Removed unused code [Vegar Vikan] 18 31 WebApiRole/Controllers/HomeController.cs 6115cd1 Do not networkingirect to index.html - just serve. [Vegar Vikan] 2 14 WebApiRole/Controllers/HomeController.cs 2 2 WebApiRole/app/app.js 586f67a (master) Merge branch 'unique-requestid-for-logging' [Vegar Vikan] 

Luego busco maestro …

 C:\source\Webrapportering-Git [remove-index-html-from-urls]> git fetch origin master remote: Microsoft (R) Visual Studio (R) Team Foundation Server Unpacking objects: 100% (5/5), done. From https://finale.visualstudio.com/DefaultCollection/_git/Finale * branch master -> FETCH_HEAD af56971..b4bb100 master -> origin/master 

… antes de iniciar la rebase:

 C:\source\Webrapportering-Git [remove-index-html-from-urls]> git rebase origin/master First, rewinding head to replay your work on top of it... Applying: Do not networkingirect to index.html - just serve. Using index info to reconstruct a base tree... <stdin>:29: trailing whitespace. */ <stdin>:45: trailing whitespace. }); warning: 2 lines add whitespace errors. Falling back to patching base and 3-way merge... error: Your local changes to the following files would be overwritten by merge: WebApiRole/Controllers/HomeController.cs Please, commit your changes or stash them before you can merge. Aborting Failed to merge in the changes. Patch failed at 0001 Do not networkingirect to index.html - just serve. The copy of the patch that failed is found in: c:/source/Webrapportering-Git/.git/rebase-apply/patch When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort". C:\source\Webrapportering-Git [(b4bb100...)|REBASE +0 ~1 -1]> git status 

Y aquí puedes ver que las cosas se han ido 'boink'.

 C:\source\Webrapportering-Git [(b4bb100...)|REBASE +0 ~1 -1]> git status rebase in progress; onto b4bb100 You are currently rebasing branch 'remove-index-html-from-urls' on 'b4bb100'. (all conflicts fixed: run "git rebase --continue") Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: WebApiRole/Controllers/HomeController.cs deleted: WebApiRole/app/app.js no changes added to commit (use "git add" and/or "git commit -a") 

Como puede ver, de alguna forma, Git decide que uno de mis files se borra. ¿Por qué? ¿El file de revisión que intentó aplicar no menciona ninguna eliminación?

El conflicto que menciona, los cambios locales que se sobrescribirán, también es un misterio, caso de que mi repository esté limpio antes de la rebase.

¿Alguna pista?

(Abortar la rebase y comenzar de nuevo generalmente funciona)