Git rebase получил ошибку "unlink of file failed"

Используя msysgit 1.7.0.2, при выполнении git rebase -i он зависает и сообщений нет. После ввода ctrl + c я могу видеть, что 'не удалось удалить файл, если я попытаюсь снова (y/n)? Затем я попробовал git rebase -abort, но получил такое же сообщение об ошибке. Так что теперь он застрял в середине процесса перепродажи. Эта ошибка кажется вызванной файлом только для чтения. Есть ли способ решить эту проблему? Thanks.again(y/n)? '

Ответ 1

Пробовал ли вы set GIT_ASK_YESNO=false?

Этот нить группы Google упоминает об этом в последних изменениях в mingw:

Использовать новую переменную среды GIT_ASK_YESNO для поддержки недавно реализованного отказа в случае unlink, rename или rmdir сбоя для файлов, используемых в Windows.

Какую точную версию Git для Windows вы используете?
Примечание: Настройка msysgit не совпадает с настройкой "Git для Windows" , см. Также "Разные между msysgit и cygwin + Git?" )


git 2.8.4 (июнь 2016 г.) упоминает вопрос 755, который также должен облегчить проблему (commit 2db0641):

Убедитесь, что временные файлы не наследуются дочерними процессами

Ответ 2

Я не знаю, применимо ли это в вашей ситуации, но у меня была аналогичная ситуация с 1.7.10.msysgit.1 (разговор с сетевым ресурсом на сервере Ubuntu). В моем случае неудавшееся слияние сделало несколько объектов, принадлежащих root, с правами -r - rwSr--. Простой SSH-вход и

sudo chown steve: .git/*

исправлена ​​одна проблема (для моего пользователя - если вы не называетесь steve, вам нужно изменить это на свое имя пользователя!) и

chmod -R 0755 .git/*

исправлено другое.