web-dev-qa-db-ja.com

gitは.git / FETCH_HEADを開けません

CentOがあります。 gitを作成し、所有者の.gitフォルダグループを「gitdevelopers」にしました。グループ「gitdevelopers」にUser1とUser2を追加します。今度はgit-Pushとgit-pullをuser1とuser2から変更します。しかし、コンピューターのユーザーはエラーで動作しません:

git.exe pull -v --no-rebase --progress "Origin" error:cannot open .git/FETCH_HEAD:Permission denied

どうして?

p.s .:そして、私はログインパスワードus​​er1とuser2でx-Shellによってサーバーに接続できます。

数時間後:: gitが覚えている正しいログインパスワードではないので問題だと思います。

p.p.s:gitはログインとパスワードのペアを保存しますか?私はssh-protocolを使用しています。

p.p.p.s.:OK。私はgitのサーバーCentOを持っています。サーバーには2人のユーザーがいます。また、WindowsにはTortoiseGitを使用しています。私はこれを次のように構成します。各接続システムで、サーバーに接続するためのログインとパスワードを要求しました。そして今、私は知りたいと思っていました:1.このログインパスワードはどこに保存されていますか2.このペアを永久に保存できますか?

8
Helen

これは私と一緒に働いた

Sudo chown -R $(whoami) .git/
9
Pablo Papalardo
error: cannot open .git/FETCH_HEAD: Permission denied

これまでに発生した最初のエラーの1つでした。

おそらくあなたはすでに知っていたかもしれませんが、これはそのディレクトリを変更/表示する権限がないために発生している可能性があります。

アイデアは、許可を変更することです、おそらく以下を使用します:

chmod

または

chown

私はここでさらに回答を見つけました エラー付きでgit pullを試みます:.git/FETCH_HEADを開けません:権限が拒否されました

3
Joey Dorrani

ファイルの権限を確認できます

ls -l /usr/local/Library/Taps/linode/cli/.git/FETCH_HEAD

そして

ls -l /usr/local/.git/FETCH_HEAD

2
Rizo

新しいSSHキーペアの生成

ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

GitLabアカウントにSSHキーを追加する

Copy your public SSH key to the clipboard and paste it into your user account >  SSH Keys 

認証の場合は、〜/ .ssh/configに以下のコンテンツとして構成を設定する必要があります。

Host domain.com

Hostname domain.com

User git

Port 30001

Preferredauthentications publickey

RequestTTY no

IdentityFile ~/.ssh/id_rsa

次のようにコマンドを使用できます;これらのコマンドで言及した共通変数では、それらの関連する値を置き換えます。

新しいリポジトリを作成します

git clone ssh://[email protected]:port-number/user-name/project-name.git

cd project-name

touch README.md

git add README.md

git commit -m "add README"

git Push -u Origin master

既存のフォルダをプッシュします

cd existing_folder

git init

git remote add Origin ssh://[email protected]:port-number/user-name/project-name.git

git add .

git commit -m "Initial commit"

git Push -u Origin master

既存のGitリポジトリをプッシュする

cd existing_repo

git remote rename Origin old-Origin

git remote add Origin ssh://[email protected]:port-number/user-name/project-name.git

git Push -u Origin --all

git Push -u Origin --tags

リポジトリを複製するには:

git clone https://[email protected]:port-number/user-name/project-name.git

0
Suresh Shinde