Git rebase got 'unlink of file failed' error

I don't know if it applies in your situation, but I've just had a similar situation with 1.7.10.msysgit.1 (talking to a network share on an Ubuntu server). In my case, a failed merge had made several objects owned by root with permissions -r--rwSr--. A simple SSH login and

sudo chown steve: .git/*

fixed one problem (for my user - unless you're called steve, you'll need to change that to your username!), and

chmod -R 0755 .git/*

fixed the other.


Did you try with set GIT_ASK_YESNO=false?

This Google group thread mentions it in the recent mingw evolutions:

Make use of the new environment variable GIT_ASK_YESNO to support the recently implemented fallback in case unlink, rename or rmdir fail for files in use on Windows.

What exact version of Git for windows are you using?
Note: msysgit setup is not the same than the "Git for Windows" setup, see also "Different between msysgit and cygwin + git ?")


git 2.8.4 (June 2016) does mention issue 755 which should also alleviate the issue (commit 2db0641):

Make sure temporary file handles are not inherited by child processes


See also Git 2.19 (Q3 2018): "Git - Unlink of file .idx and .pack failed (The only process owned handle to this file is git.exe)".

Tags:

Git