gitを使用しているときに、プロジェクトの変更をコミットできません。
ここに私の端末があります:
tomas@tomas-laptop:~/menu_operations$ git commit -m "initial commit"
error: Unable to append to .git/logs/refs/heads/7.x-1.x: Permission denied
fatal: cannot update HEAD ref
menu_operations
私のプロジェクトの名前です。
許可する許可がわからない。 誰でも助けることができますか?
回答:
回答№1は42ユーザーと.git / logs / refs / heads /のアクセス許可を確認してください。ルートとして何かを実行した可能性があります。
説明: いくつかのgitコマンドをルート(sudo?)として実行すると、作成された新しいファイル/ディレクトリはすべてルートによって所有され、デフォルトでは他のユーザーはこれらのファイル/ディレクトリに対する書き込み権限を持ちません。
後でそのリポジトリを操作するとき、物事は 現れる 仕事が必要になるまで への書き込み 実際にルートによって作成されたファイル、つまり が所有している ルート。
少なくともLinuxでは、これで修正されます。
sudo chown -Rc $UID .git/
また、所有者を変更したファイルも表示されます。
[1]健全なセットアップで、少なくとも
回答№2の場合は0
ユーザーと.git / logs / refs / heads /のアクセス許可を確認してください。ルートとして何かを実行した可能性があります。
回答№3の場合は0
Capistranoを使用してデプロイする人のために、ここで.git /ディレクトリを操作する必要があることを追加したかっただけです。
/var/www/rails/production/shared/git_cache/.git
そして
/var/www/rails/production/current/.git
これは、「これらの指定されたディレクトリを使用しており、本番にプッシュしている」と仮定していますが、正しい方向に進むはずです。
回答№4の場合は0
chown -R $(whoami)/usr/local.gitはこれを行う必要があります。
回答№5の場合は0
つかいます
sudo chown -R youremailid .git /
答え№6の場合は-1
Linuxコマンド:
- sudo chown -Rc $ UID .git /
- id -u {yourusername}
そして結果: 「.git / packed-refs」の所有権をルートから1000に変更しました
「.git / logs / HEAD」の所有権をルートから1000に変更しました
「.git / logs / refs / heads / master」の所有権をルートから1000に変更しました
「.git / logs / refs / remotes / origin / HEAD」の所有権をルートから1000に変更しました
「.git / logs / refs / remotes / origin / master」の所有権をルートから1000に変更しました
「.git / objects / pack / pack-b905d78889aea64ca69a61c0efaa76ba95b08786.idx」の所有権をルートから1000に変更しました
「.git / objects / pack / pack-b905d78889aea64ca69a61c0efaa76ba95b08786.pack」の所有権をルートから1000に変更しました
「.git / objects / info / packs」の所有権をルートから1000に変更しました
「.git / info / refs」の所有権をルートから1000に変更しました