gitからのプル中にエラーが発生しました-オブジェクトをリポジトリデータベース.git / objectsに追加するための十分な権限がありません


112

"git pull origin origin"を実行するたびに、「リポジトリデータベース.git / objectsにオブジェクトを追加するための十分な権限がありません」というgitエラーが発生します。

    remote: Counting objects: 70, done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 42 (delta 35), reused 42 (delta 35)
    error: insufficient permission for adding an object to repository database     .git/objects

    fatal: failed to write object
    fatal: unpack-objects failed

1
明白な疑問:あなたが持っているディスク上のファイルへのアクセス権を?
Lasse V. Karlsen 2013

17
.git/objectsファイルの権限を確認してください。sudo過去のある時点で誤って使用しroot、自分ではなく所有権を付与した可能性があるようです。
クリスヘイズ

私は同じ問題@ChrisHayesを取得していますが、どの.git / objectsファイルですか?そのファイル/ディレクトリはどこですか?
pedroremedios 2013年

1
@pedroremedios .gitは、すべてのgitリポジトリのベースに存在するディレクトリです。
Chris Hayes

回答:


255

@ChrisHayesが偶発的なsudoについて正しいと仮定すると、これはそれを修正するはずです。リポジトリ内から:

sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"

更新illegal group nameエラーが発生した場合は、代わりにこれを試してください:

sudo chown -R $(id -u):$(id -g) "$(git rev-parse --show-toplevel)/.git"

7
何をしgit rev-parse --show-toplevelますか?chown -R user:userリポジトリの最上位ディレクトリを使用するだけで問題を解決できました。
Matt K

9
@MattKこれにより、リポジトリの最上位ディレクトリが取得されるため、コマンドは現在のリポジトリのどこにあるかに関係なく機能します。すでにルートにいる場合は、実行できますsudo chown -R $USER:$USER .git
dwurf '29

7
私が取得: illegal group name
イアン・

1
間違ったユーザー名を使用していました。コマンドは機能しました。ありがとうございました。
イアン

1
それは、偶然のsudoの前にも起こりました。所有者/グループを変更すると修正されました
2015

10

プロジェクトのルートディレクトリに移動し、以下のコマンドを実行してこの問題を修正します。

cd .git/objects
sudo chown -R yourname:yourgroup *

2

私は愚かな間違いでした...適切なユーザー名とグループが設定されましたが、www-dataはそれにアクセスするアカウントでした。ディレクトリはvaindil:www-dataが所有していましたが、アクセス権は755だったため、www-dataはそれに書き込むことができませんでした。それを修正しました:

$ sudo chmod -R 775 /path/to/repo


1

良い習慣ではない(ただの代替案)

Ubuntuを使用していますが、同じ問題に直面しています。それを解決するために、ユーザーをrootに切り替えただけで、それ以上エラーは表示されません。

$su
password

そして、

$git pull origin master

推奨される方法:ディレクトリの権限を変更する


4
これは(と同様にsudo)機能しますが、可能な限りrootとしてコマンドを実行しないことをお勧めします。
dwurf 2016

@dwurfコメントありがとうございます。これは上記の答えの代替手段にすぎませんでした。:)
Nabin 2016

1
ソリューションではありません-リポジトリをsudoとして使用したくありません。
ワックスケージ

1
@WaxCageはい。でも、太字の大きなテキストがすでに表示されていますか?:)
Nabin 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.