あなたが何かを追加した後...それらをコミットし、結局それをプッシュしてください!バン!! すべての問題を開始します...気づくはずですが、新規プロジェクトと既存プロジェクトの両方の定義方法にはいくつかの違いがあります。他の誰かが同じファイルまたはコンテンツを追加/コミット/プッシュしようとすると(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
この場合は制限されているため、この問題を解決するには、運用システムのアクセス許可システムを念頭に置く必要があります。Tuは問題をよりよく理解し、先に進み、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
問題の解決
スーパーユーザー権限がある場合は、ステップ2を使用して自分ですべての権限を進めて変更できます。それ以外の場合は、ユーザーで作成されたオブジェクトを持つすべてのユーザーに質問する必要があります。次のコマンドを使用して、ユーザーを確認します。 :
$ 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
git add
しgit commit
、rootユーザーとして-ingした。私はそれをagit reset
で修正し、この質問の回答で.git
ディレクトリのアクセス許可を修正しました。