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?
Cela a fonctionné avec moi
Sudo chown -R $(whoami) .git/
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 .
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
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