ошибка github: недостаточно разрешений для добавления объекта в базу данных репозитория
я раньше мог делать, из моей папки приложения:
git add .
git commit -m "commit details"
git push
и последняя версия моего приложения на моей локальной машине будет скопирована в моем мастер-РЕПО, на github.
теперь, когда я доберусь до , Я:
mycompaq@ubuntu:~/myapp$ git add .
error: insufficient permission for adding an object to repository database .git/objects
error: app/views/reviews/update.js.erb: failed to insert into database
error: unable to index file app/views/reviews/update.js.erb
fatal: updating files failed
mycompaq@ubuntu:~/myapp$
Я прочитал в сообщении о Stackoverflow способ преодолеть подобную проблему был с:
chown -R user:user /project/directory
но видя, как я попал в весь груз проблем в первую очередь запуск команд, в которых я не был уверен, я хочу знать, является ли это командой для меня. Что он делает? Можно ли это отменить?
каким должен быть точный синтаксис, если пользователь "Кристоф", а папка, в которой хранится мое приложение Rails, называется "myapp". Я имею в виду, должно ли это быть
chown -R user:christophe /myapp/app/views/reviews/update.js.erb
извините за все вопросы.
2 ответов
chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... }
С man page
команда chown изменяет владельца файла, указанного в файле параметр для пользователя, указанного параметром Owner. Значение параметром Owner может быть ID пользователя или имя Входа, найденное в файл /etc/passwd и. При необходимости можно также указать группу. Значение параметром Group может быть идентификатор группы или имя группы, найденное в файл/etc / group.
о-R вариант
- R
Спускает каталоги рекурсивно, меняя владельца для каждого файл. Когда символическая ссылка встречается и ссылка указывает на каталог, право собственности на этот каталог изменяется, но каталог не далее transversed.
так
chown -R user:christophe /myapp/app/views/reviews/update.js.erb
изменит владельца update.js.erb
файл для пользователя user
в группе christophe
, что, вероятно, не то, что вы хотите.
In ваш случай смены владельца РЕПО на себя, т. е.
sudo chown -R christophe /path/to/your/local/repo
должно хватить.
если вы не знаете свое имя пользователя, вы можете узнать его с помощью .
1) Убедитесь, что вы находитесь внутри репозитория, где вы получаете ошибку.
2) получите свое имя пользователя, введя
`whoami`
3) вводим эту команду
sudo chown -R dwain .git/*