Sau khi bạn thêm một số thứ ... cam kết chúng và sau khi hoàn thành đẩy nó! BANG !! Bắt đầu tất cả các vấn đề ... Như bạn sẽ thấy có một số khác biệt trong cách xác định cả dự án mới và dự án hiện tại. Nếu một số người khác cố gắng thêm / cam kết / đẩy cùng một tệp hoặc nội dung (git giữ cả hai như cùng một đối tượng), chúng tôi sẽ gặp phải lỗi sau:
$ 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
Để giải quyết vấn đề này, bạn phải có một cái gì đó trong tâm trí hệ thống cấp phép của hệ điều hành vì bạn bị hạn chế bởi nó trong trường hợp này. Tu hiểu rõ hơn vấn đề, hãy tiếp tục và kiểm tra thư mục đối tượng git của bạn (.git / object). Bạn có thể sẽ thấy một cái gì đó như thế:
<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
* Lưu ý rằng các quyền của tệp đó chỉ được cấp cho người dùng của bạn, không ai có thể thay đổi nó ... *
Level u g o
Permission rwx r-x ---
Binary 111 101 000
Octal 7 5 0
GIẢI QUYẾT VẤN ĐỀ
Nếu bạn có quyền siêu người dùng, bạn có thể tự mình chuyển tiếp và thay đổi tất cả các quyền bằng cách sử dụng bước hai, trong mọi trường hợp khác, bạn sẽ cần hỏi tất cả người dùng với các đối tượng được tạo bằng người dùng của họ, sử dụng lệnh sau để biết họ là ai :
$ ls -la | awk '{print $3}' | sort -u
<your user_name>
<his user_name>
Bây giờ, bạn và tất cả người dùng chủ sở hữu tệp sẽ phải thay đổi các quyền đó, thực hiện:
$ chmod -R 774 .
Sau đó, bạn sẽ cần thêm một thuộc tính mới tương đương với - Shared = nhóm được thực hiện cho kho lưu trữ mới, theo tài liệu này, điều này làm cho nhóm kho lưu trữ có thể ghi được, thực hiện nó:
$ git config core.sharedRepository group
https://coderwall.com/p/8b3ksg
git add
vàgit commit
-ing là người dùng root. Tôi đã sửa nó bằng mộtgit reset
câu trả lời và câu hỏi này để sửa các.git
quyền của thư mục.