Ответ 1
Запустите Git Bash или консоль, с которой вы работаете, с Run As Administrator
На моей машине с Windows, когда я вытягиваю свое репо, я получаю:
error: unable to crate file <path to file> (Permission denied)
Я думаю, что проблема может заключаться в том, что когда я смотрю на свойства папки, внутри этого квадрата есть квадрат, я очищаю его, чтобы никакие файлы или папки не были прочитаны только.
После нажатия ok и проверки, чтобы Windows применила мои изменения, я снова вижу квадрат!
Как я могу получить Git или Windows, чтобы разрешить мне совершать мои коммиты?
Запустите Git Bash или консоль, с которой вы работаете, с Run As Administrator
Проверьте, использует ли другое приложение ваши файлы и убивает его. В моем случае это было grunt, всегда следя за изменениями и проектом строительства. Дал мне то же сообщение, что и ваше, при отбрасывании файлов.
Как это случилось? Когда я переключился на другую ветку, в моей рабочей копии появилось несколько несуществующих файлов. Я не мог отбросить их и открыть в текстовом редакторе.
В моей ситуации с той же проблемой была другая программа (Atom), которая блокировала файлы. Закрытие помогло.
Поэтому проверьте, использует ли какая-либо другая программа, редактор кода, те же файлы, если да - отключите ее.
Если добавить это как для меня, ни один из приведенных выше ответов не сработал: если он установлен, проверьте настройки Bitdefender (или другое имеющееся у вас программное обеспечение безопасности). Он работает с защищенными папками и может блокировать любые попытки манипулировать файлами. При использовании, например, git bash, такие команды, как rm, vim и т.д., Все считаются отдельными и требуют отдельных разрешений, а не только самого bash.exe.
У меня просто была такая ошибка после отмены rebase. Оказалось, что существует сиротский процесс git
, который хранит блокировку файла в каталоге .git
.
В противном случае a script из этого ответа также может быть полезно.
Отключение Windows UAC, похоже, сделало трюк.
Git Bash в Windows 10. Файл не был доступен только для чтения, поэтому я закрыл окно Bash и снова открыл его, и он сработал.