ошибка 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/*