Ошибка отказа в доступе может означать, что файл используется другим процессом, а для GIT-хранилища это представляется более вероятным, чем проблема с правами доступа к файлу.
(Я предполагаю, что GIT похож на SVN, где каждый файл в хранилище создается вашей собственной учетной записью со стандартными разрешениями. Если это не так, то я могу ошибаться.)
В качестве первого шага запустите Process Explorer от имени администратора и нажмите Ctrl-F, чтобы открыть окно, в котором вы можете ввести имя файла и посмотреть, какие процессы (если есть) имеют этот открытый файл.
Когда я говорю «запустить от имени администратора»:
Я имею в виду не только когда вы вошли в систему как администратор. UAC в Windows 7 означает, что по умолчанию учетные записи администратора не запускаются с полным доступом администратора. Щелкните правой кнопкой мыши файл procmon.exe и выберите параметр «Запуск от имени администратора».
Полагаю, вы уже знакомы с этим из командной строки от имени администратора. Если вы только что перешли на учетную запись администратора, но не использовали «Запуск от имени администратора» в командной строке, то это может быть причиной сбоя команды takeown. В командной строке должно быть указано «Администратор:» в заголовок окна, если он правильно повышен, если UAC не выключен полностью.
Если в списке присутствует один или несколько процессов, подтвердите полный путь к файлу в списке (в случае, если другой файл на диске имеет аналогичное имя).
Закройте все процессы с открытым файлом. Попробуйте закрыть их как обычно, если можете. В крайнем случае вы можете выполнить их задание. Если это процесс, выполняющийся от имени другого пользователя / учетной записи, это может быть служба, которую вы можете остановить.
(Убедитесь, что в «Просмотр-> Показать процессы для всех пользователей» установлен флажок, а затем найдите соответствующий процесс в столбце PID. Если вы считаете, что это сервис, наведите на него курсор мыши, и появится всплывающая подсказка, сообщающая имя (и) ) любых служб, в которых он работает.)
Если вы не можете найти какой-либо процесс, обращающийся к файлу или закрывающий их все, по-прежнему приводит к ошибке отказа в доступе, и вы определенно пытаетесь удалить из командной строки с повышенными правами, тогда вы можете попробовать сказать Windows: удалите файл при следующей перезагрузке. Для этого вы можете использовать инструмент SysInternals MoveFile .