'git / attributes'にアクセスできません


95

警告remote: warning: unable to access '/root/.config/git/attributes': Permission deniedとはどういう意味で、どのような影響がありますか?

$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.

潜在的なインフラストラクチャの問題をホスティング業者に報告する必要がありますか?


これを解決できましたか?
ムー無

@mu無いいえ、まだ明確な答えがないため、これについてホスティングに関するバグを報告するのは気が進まない。
バシレウス2014

回答:


198

私は自分でこの状況に遭遇しました。調べていることを確認した後~/.config/、そのフォルダの所有者がであることに気付きましたroot。これをに変更するmy_user_nameと、機能しました。

cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config

原因を知ることも役立ちます。このディレクトリは、それを使用するプログラムを初めて実行したときに作成されます。コマンドがとして実行された場合、rootこの権限の問題が発生します。

たとえば、~/.configディレクトリがまだ存在せず、を実行するsudo htopと、ディレクトリ~/.config~/.config/htopが作成され、によって所有されrootます。その後、通常のgitコマンドはアクセスできなく~/.configなり、上記の警告が表示されます。(クレジット:ユーザーmehtunguh)

-Rオプションchownは、アクセス許可を再帰的に変更することです。これは、下にサブフォルダーがある場合に役立ちます~/.config


6
これは、Windows10内でLinuxコマンドラインを使用しているときにも役立ちました-ありがとうございます!
lukaszkups

1
これは素晴らしい時間の節約になりました
Prithvi RajVuppalapati18年

7
原因を知ることも役立ちます-このディレクトリは、それを使用するプログラムを初めて実行したときに作成されます。コマンドがrootとして実行された場合、この権限の問題が発生します。たとえば、~/.configディレクトリがまだ存在せず、を実行するsudo htopと、ディレクトリ~/.config~/.config/htopが作成され、rootによって所有されます。その後、通常のgitコマンドはアクセスできず~/.config、この警告が表示されます。
mehtunguh

1
@mehtunguhこれを私の答えに追加することを検討してください!これは確かに貴重な情報です。
BlackVegetable 2018年

@mehtunguh私はこの答えにあなたの洞察を追加しました。ありがとうございました。
BlackVegetable 2018年

9

HOME環境変数が正しく設定されていないと思います。

以下からのGoogleグループのスレッド

HOME環境変数を次のように設定して/root、それは見て/root/.gitconfig/root/.config/git/configへのアクセス権を持っていなかった非特権ユーザー以来/root、それはエラーを投げました。

したがって、解決策は、HOMEenvをユーザーのHOMEディレクトリに設定することでした。


2

Gitは、ユーザー構成ではなくルートから構成を読み取ろうとしています。環境変数に正しいgitconfigが設定されているか、ホームフォルダーの.gitconfigファイルにアクセスできることを確認してください。


これによって引き起こされる潜在的な問題はありますか?
バシレウス2014年

2

ルートディレクトリに移動します

cd ~/

次のコードを記述します。

sudo chown -R username /Users/username

ここで、usernameはシステムのユーザー名です。


「自分のホームディレクトリにある.configフォルダの所有権を変更する必要がありますか?」に対するこの回答は関連性があります。 askubuntu.com/questions/852265/...
CodingMatters

0

同様の問題を実行し、サーバー側で修正することができました。gitはuwsgiの下で実行されるので、uwsgiconfigに次の行を追加しました。

env = HOME=/srv/git

ここで、/ srv / gitは、uwsgiが実行されて作成されたのと同じuidによって所有されchmod u+rwX /srv/git ます。したがって、gitを実行するプロセスのサーバー側のHOME変数を、このプロセスが読み取り/書き込み/トラバースのアクセス許可を持つディレクトリにポイントする必要があります。


0

Windowsの場合、CMDやSSHクライアントなどのプロセスがGitが削除しようとするフォルダーを開いた場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.