web-dev-qa-db-ja.com

git pullエラーのエラー:.git / FETCH_HEADを開けません:権限が拒否されました

私は助けを探しています!!

Git pullを実行しようとすると、次のエラーメッセージが表示されます。

C:\ Jenkins\Repo> git pull error:cannot open .git/FETCH_HEAD:Permission denied

問題のマシンはWindows Server 2008 r2 OSであり、sshを使用して認証を処理していました。

以下を試しました現在のユーザーがFETCH_HEADファイルに対する正しい読み取り/書き込みを実行しているかどうかを確認しました。また、ユーザーがリポジトリルートに正しい権限を設定していることも確認しました。

私は自分の秘密キー(100%動作し、問題のリポジトリへのアクセス許可があることを知っています)をロードしようとしましたが、それでも同じ問題です... gitについて少し知っていると、これはWindowsの問題だと思います

そしてたくさんのグーグル!

何をする/チェックするかについてのこれ以上のアイデアは大きな助けになるでしょう!

11
craig Rickett

これは、Windows 10にアップグレードした後に発生しました。ユーザーは管理者であり、管理者はルートリポジトリフォルダーへのフルアクセス権を持っていますが、ユーザーが明示的にリストされていません。ユーザーにフルコントロールを追加したところ、問題が解決しました(同じ問題が発生するまで、OutlookがPSTファイルの読み取りを拒否するという同じ問題がありました)。

だから、私にとっての解決策は:

  • フォルダを右クリックして、プロパティを選択します
  • 安全保障
  • 編集する
  • 追加
  • ユーザー名を入力してください
  • 許可の下でフルコントロールを確認する
  • はいはい
14

これはかなり一般的な問題です。私は何度もそれに遭遇しましたが、ほとんどの場合、問題はリポジトリ/ディレクトリへの正しい権限です.git/とgitリポジトリにアクセスするための適切なSSHキー。

おそらく、ユーザー、リポジトリの所有者chown(ユーザーに完全なアクセス権を与える)にするか、リポジトリを別のディレクトリに複製する必要があります。

次のコマンドで書き込み権限を設定できます。フォルダーに移動しますchown -R youruser:yourgroup .git/

また、.gitフォルダを再表示してみてください。

3
Anantha Raju C

Windows 10では、これが私にとってうまくいきました:

1. go to the repo folder 
2. right click on the .git folder and choose the last option - properties
3. on the general tab uncheck hidden checkbox if checked
4. hit apply and then ok

ここでgit fetchまたはgit pullを試してみてください。うまくいくはずです。

2
Akash Yellappa

私の場合、これは.gitフォルダーを手動で(通常は自動的に非表示になります)が、忘れてしまいました。

セキュリティを編集しようとしましたが、効果はありません。だから私は.gitフォルダを作成し、問題を解決します。

これは誰かの助けになるかもしれません

1
ysjiang