После того, как вы добавите некоторые вещи ... зафиксируйте их и после того, как все закончите, нажмите их!BANG !!Начните все проблемы ... Как вы должны заметить, существуют некоторые различия в способах определения как новых, так и существующих проектов.Если какой-то другой человек попытается добавить / зафиксировать / отправить те же файлы или содержимое (например, git сохранит оба объекта в одинаковых объектах), мы столкнемся со следующей ошибкой:
$ git push
Counting objects: 31, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (21/21), 2.07 KiB | 0 bytes/s, done.
Total 21 (delta 12), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database ./objects remote: fatal: failed to write object
Чтобы решить эту проблему, у вас должно бытьИмейте в виду систему разрешений операционной системы, поскольку в этом случае вы ограничены ею.Чтобы лучше понять проблему, проверьте папку вашего git-объекта (.git / objects).Вы, вероятно, увидите что-то подобное:
<your user_name>@<the machine name> objects]$ ls -la
total 200
drwxr-xr-x 25 <your user_name> <group_name> 2048 Feb 10 09:28 .
drwxr-xr-x 3 <his user_name> <group_name> 1024 Feb 3 15:06 ..
drwxr-xr-x 2 <his user_name> <group_name> 1024 Jan 31 13:39 02
drwxr-xr-x 2 <his user_name> <group_name> 1024 Feb 3 13:24 08
* Обратите внимание, что права доступа к этим файлам были предоставлены только вашим пользователям, никто никогда не сможет их изменить ... *
Level u g o
Permission rwx r-x ---
Binary 111 101 000
Octal 7 5 0
РЕШЕНИЕ ПРОБЛЕМЫ
Если у вас есть разрешение суперпользователя, вы можете пойти дальше и изменить все разрешения самостоятельно, используя второй шаг, в любом другом случае вам нужно будет спросить всех пользователей об объектах, созданных с их пользователями,используйте следующую команду, чтобы узнать, кто они:
$ ls -la | awk '{print $3}' | sort -u
<your user_name>
<his user_name>
Теперь вам и всем владельцам файлов придется изменить разрешение на эти файлы, выполнив:
$ chmod -R 774 .
После этого вам потребуетсячтобы добавить новое свойство, эквивалентное --shared = group, выполненному для нового репозитория, в соответствии с документацией это сделает запись в репозиторий группой доступной для записи, выполнив:
$ git config core.sharedRepository group
https://coderwall.com/p/8b3ksg