web-dev-qa-db-fra.com

git ne peut pas ouvrir .git / FETCH_HEAD

J'ai CentOs. Je fais git et fait le groupe de dossiers .git du propriétaire "gitdevelopers". Dans le groupe "gitdevelopers", ajoutez User1 et User2. Maintenant, je fais le changement git-push et git-pull de user1 et user2. Mais les utilisateurs de vos ordinateurs ne fonctionnent pas avec erreur:

git.exe pull -v --no-rebase --progress Erreur "Origin": impossible d'ouvrir .git/FETCH_HEAD: autorisation refusée

Pourquoi?

p.s.:Et je peux me connecter au serveur par x-Shell avec le mot de passe de connexion user1 et user2.

quelques heures plus tard :: Je pense que le problème n'est pas le bon mot de passe de connexion, ce dont je me souviens.

p.p.s: où git enregistre les paires login-mot de passe? J'utilise le protocole ssh.

p.p.p.s.:OK. J'ai un serveur CentOs avec git. Sur le serveur est deux utilisateurs. Et j'utilise TortoiseGit pour Windows. Je le configure ainsi: dans chaque système de connexion, il a été demandé un identifiant et un mot de passe pour se connecter au serveur. Et maintenant, je voulais savoir: 1. où est enregistré ce mot de passe de connexion 2. puis-je enregistrer définitivement cette paire?

8
Helen

Cela a fonctionné avec moi

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

Ce fut l'une des premières erreurs qui me soit arrivée.

Peut-être que vous le saviez déjà, mais cela se produit probablement parce que vous n'avez pas les autorisations pour modifier/afficher ce répertoire.

L'idée est de changer les permissions, peut-être d'utiliser:

chmod

ou

chown

J'ai trouvé d'autres réponses ici Essayer de git pull avec erreur: impossible d'ouvrir .git/FETCH_HEAD: autorisation refusée .

3
Joey Dorrani

vous pouvez vérifier les autorisations sur le fichier,

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

et

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

2
Rizo

Génération d'une nouvelle paire de clés SSH

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

Ajouter une clé SSH à votre compte GitLab

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

Pour l'authentification, vous devez définir la configuration dans ~/.ssh/config comme contenu ci-dessous;

Host domain.com

Hostname domain.com

User git

Port 30001

Preferredauthentications publickey

RequestTTY no

IdentityFile ~/.ssh/id_rsa

Vous pouvez utiliser des commandes comme; Dans ces commandes, les variables communes mentionnées, remplacent les valeurs associées de celles-ci.

Créez un nouveau référentiel

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

Poussez un dossier existant

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

Poussez un référentiel Git existant

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

Pour cloner le référentiel:

git clone https: //[email protected]: numéro-de-port/nom-utilisateur/nom-projet.git

0
Suresh Shinde