J'ai pu cloner une copie de ce référentiel sur HTTPS authentifié. J'ai commis des commits et je veux retourner au serveur GitHub. Utilisation de Cygwin sur Windows 7 x64.
C:\cygwin\home\XPherior\Code\lunch_call>git Push
Password:
error: The requested URL returned error: 403 while accessing https://MichaelDrog
[email protected]/derekerdmann/lunch_call.git/info/refs
fatal: HTTP request failed
Également le configurer en mode verbeux. Je suis encore assez perplexe.
C:\cygwin\home\XPherior\Code\lunch_call>set GIT_CURL_VERBOSE=1
C:\cygwin\home\XPherior\Code\lunch_call>git Push
Password:
* Couldn't find Host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
* Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
CApath: none
* SSL connection using AES256-SHA
* Server certificate:
* subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
* start date: 2011-05-27 00:00:00 GMT
* expire date: 2013-07-29 12:00:00 GMT
* subjectAltName: github.com matched
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
* SSL certificate verify ok.
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache
< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
< WWW-Authenticate: Basic realm="GitHub"
<
* Ignoring the response-body
* Expire cleared
* Connection #0 to Host github.com left intact
* Issue another request to this URL: 'https://[email protected]/dereker
dmann/lunch_call.git/info/refs?service=git-receive-pack'
* Couldn't find Host github.com in the _netrc file; using defaults
* Re-using existing connection! (#0) with Host github.com
* Connected to github.com (207.97.227.239) port 443 (#0)
* 0x23cb740 is at send pipe head!
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache
< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
* Authentication problem. Ignoring this.
< WWW-Authenticate: Basic realm="GitHub"
* The requested URL returned error: 401
* Closing connection #0
* Couldn't find Host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
* Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
CApath: none
* SSL re-using session ID
* SSL connection using AES256-SHA
* old SSL session ID is stale, removing
* Server certificate:
* subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
* start date: 2011-05-27 00:00:00 GMT
* expire date: 2013-07-29 12:00:00 GMT
* subjectAltName: github.com matched
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
* SSL certificate verify ok.
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs HTTP/1.1
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache
* The requested URL returned error: 403
* Expire cleared
* Closing connection #0
error: The requested URL returned error: 403 while accessing https://MichaelDrog
[email protected]/derekerdmann/lunch_call.git/info/refs
fatal: HTTP request failed
Voici les versions de git et curl que j'ai:
C:\Users\XPherior>git --version
git version 1.7.4.msysgit.0
C:\Users\XPherior>curl --version
curl 7.21.7 (AMD64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps Gopher http https imap imaps ldap pop3 pop3s rtsp
smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz
Je viens d'avoir le même problème et juste trouvé la cause.
Github semble ne prendre en charge que le mode ssh pour lire et écrire le référentiel, bien que le mode https affiche également «Lecture et écriture».
Vous devez donc modifier votre configuration de référentiel sur votre PC de manière ssh:
.git/config
sous votre répertoire de dépôturl=
entry dans la section [remote "Origin"]
url=https://[email protected]/derekerdmann/lunch_call.git
à url=ssh://[email protected]/derekerdmann/lunch_call.git
. c'est-à-dire changer tous les textes avant le symbole @
en ssh://git
config
et quitter. vous pouvez maintenant utiliser git Push Origin master
pour synchroniser votre rapport sur GitHubPour pouvoir vous connecter avec le protocole https
, vous devez d’abord définir vos informations d’identification authentication sur git URI distant :
git remote set-url Origin https://[email protected]/user/repo.git
Ensuite, un mot de passe vous sera demandé lors de la tentative de git Push
.
En fait, c'est sur le format d'authentification http. Vous pouvez aussi définir un mot de passe:
https://youruser:[email protected]/user/repo.git
Vous devez savoir que si vous faites cela, votre mot de passe github sera stocké en texte clair dans votre répertoire .git, ce qui est évidemment indésirable.
Un petit ajout à la réponse de Sean .
Au lieu d’éditer le fichier .git/config
manuellement, vous pouvez utiliser la commande git remote set-url
.
Dans votre cas, cela devrait être:
git remote set-url Origin ssh://[email protected]/derekerdmann/lunch_call.git
Je trouve cela plus facile et plus propre que de jouer avec les fichiers de points.
Editez le fichier .git/config
sous votre répertoire de dépôt
Recherchez l'entrée url=
dans la section [remote "Origin"]
Changez-le de url=https://github.com/rootux/ms-Dropdown.git
en https://[email protected]/rootux/ms-Dropdown.git
où USERNAME
est votre nom d'utilisateur github
Les autres réponses qui suggèrent de passer à SSH ne tiennent pas la route. HTTPS est pris en charge, mais vous devez vous connecter avec votre mot de passe GITHUB, pas avec votre phrase secrète SSH (qui était ce qui me donnait exactement la même erreur).
J'avais le même problème, mais je me suis assuré d'utiliser mon mot de passe GitHub actuel sur le mot de passe du terminal. La solution a été corrigée sans modification de la configuration ni recours à SSH.
La raison pour laquelle il est important de noter cela est que de nombreuses institutions publiques (telles que mon école) bloquent SSH, mais autorisent le protocole HTTPS (la seule raison pour laquelle j'ai commencé à cloner via HTTPS au départ).
Espérons que cela aide quelqu'un d'autre ayant le même problème ...
Même erreur et résolution sous Mac OS X.
Tout fonctionnait bien jusqu'à ce que je crée un nouveau compte sur GitHub et que j'essaye de pousser
$ git Push -u Origin master
Et j'ai eu l'erreur:
remote: permission refusée à OLDUSER pour NEWUSER/NEWREPO.git. fatal: impossible d'accéder ' https://github.com/NEWUSER/NEWREPO.git/ ': l'URL demandée a renvoyé l'erreur: 403
Cela aurait dû être corrigé en définissant le nom d’utilisateur.name pour le référentiel global ou actuel.
$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER
Mais ça n’a pas été le cas.
J'ai résolu le problème en supprimant l'OLYDELATEUR associé à GitHub de l'application Keychain Access dans la section Mots de passe. Ensuite, la commande Push a réussi.
$ git Push -u Origin master
Je pense que @deepwaters a obtenu la bonne réponse pour les anciennes versions. L'URL HTTPS doit avoir le nom d'utilisateur. J'avais git 1.7.0.4 et git Push Origin master
ne demanderais même pas un mot de passe avant de l'avoir ajouté.
Cela fonctionne pour moi -:
git remote set-url Origin https://[email protected]/user/repo.git
J'espère que ça aide
Améliore ton git. GitHub a répondu à cette question à https://help.github.com/articles/error-the-requested-url-returned-error-403 .
Un code 403 est "Interdit". Le serveur a vu votre demande et l'a refusée. Avez-vous la permission de pousser vers ce référentiel?
Si vous utilisez Windows, cela peut parfois arriver car Windows stocke les informations d'identification du référentiel externe (dans notre cas, github) dans son propre stockage. Et les informations d'identification sauvegardées peuvent être différentes de celles dont vous avez besoin en ce moment.
Donc, pour éviter ce problème, il suffit de trouver github dans ce stockage et de supprimer les informations d'identification enregistrées. Après cela, tout en poussant, git demandera vos identifiants et vous permettra de pousser.
J'ai eu un correctif très simple à cela. Je n'ai fait que modifier le fichier de configuration git différemment après le clonage du référentiel. L'URL d'origine distante est ce que vous devez modifier dans votre fichier config par défaut. Il devrait ressembler à vu ci-dessous
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "Origin"]
fetch = +refs/heads/*:refs/remotes/Origin/*
url = https://*username*@github.com/*username*/*repository*.git
[branch "master"]
remote = Origin
merge = refs/heads/master
Deviner. J'ai cloné sur HTTPS. La configuration de mes clés publiques SSH, le clonage sur SSH et l'application sur SSH ont résolu le problème.
Après cela, notre "Push to Git" a bien fonctionné.
Ajoutez simplement votre nom d'utilisateur dans l'URL comme ceci: https: //[email protected]/islam9/bootstrap-rtl
veuillez consulter: http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/
Faites ceci pour un correctif temporaire
git Push -u https://username:[email protected]/username/repo_name.git master
changer de
url=https://[email protected]/derekerdmann/lunch_call.git
à
url=ssh://[email protected]/derekerdmann/lunch_call.git
Ça marche!
Ne pas oublier le "git" avant le "@".
Aucune des réponses ci-dessus n'a fonctionné pour mon compte enterprise
GitHub. Suivez ces étapes pour pousser via la méthode de génération de clé ssh.
Créez un repo . Assurez-vous qu’il contient au moins un fichier (même le fichier README) Générez la clé ssh:
ssh-keygen -t rsa -C "[email protected]"
Copiez le contenu du fichier ~/.ssh/id_rsa. Publiez vos clés SSH dans les paramètres de votre compte GitHub . Testez la clé SSH:
ssh -T [email protected]
clone the repo:
git clone git://github.com/username/your-repository
Maintenez cd dans votre dossier de clonage git et faites:
git remote set-url Origin [email protected]:username/your-repository.git
LISEZMOI) et faites ensuite:
git add -A
git commit -am "my update msg"
git Push -u Origin master
Ce qui a fonctionné pour moi:
Mon repo était un fork et restait lié au repo des parents.
git remote -v
Vous dira si c'est votre repo ou non.
git remote set-url Origin https://github.com/USERNAME/OTHERREPOSITORY.git
Vous permet de le reconfigurer dans votre référentiel, puis de vous autoriser à pousser.
Ajoutez le nom d'utilisateur dans l'URL et cette erreur se produit car la commande git frappe http au lieu de https. Alors définissez l'URL
git remote set-url Origin https://<username>@github.com/Path_to_repo.git
Après quoi vous serez invité à entrer votre mot de passe:
Pour ceux qui sont curieux, ma machine mac vs vm lucid a fonctionné sous git 1.7.6 vs 1.7.0.4, et le même dépôt a été expulsé de mon mac (nouveau git) mais pas de la VM
Même version curl. Peut-être que certaines versions plus anciennes de Git ne prennent pas en charge les envois https?
J'ai rencontré la même erreur et la cause était stupide - je n'avais pas le privilège de m'engager dans le référentiel sélectionné. Je ne savais pas que je devais
comme décrit dans https://help.github.com/categories/63/articles
Pour ceux dont l'autorisation est refusée, 403 erreur en utilisant ssh (selon Xiao ) ou http urls Essayez ces commandes
>git config --global --unset-all credential.helper
>git config --unset-all credential.helper
avec des droits d'administrateur
>git config --system --unset-all credential.helper
J'ai compris ma propre variante de ce problème.
Le problème ne changeait pas le protocole de https en ssl, mais plutôt la définition du nom d'utilisateur et du courrier électronique global de Github! (J'essayais de pousser vers un dépôt privé
git config --global user.email "[email protected]"
git config --global user.name "Your full name"
Github a une page dédiée à la résolution de cette erreur:
https://help.github.com/articles/https-cloning-errors
Dans mon cas, il s'est avéré qu'en utilisant une nouvelle version de git (1.8.5.2), ce problème était résolu.
Cela m'est arrivé parce que mon collègue a accidentellement désactivé le référentiel à partir duquel ce référentiel a été créé. Il suffit de vérifier pour vous assurer que le dépôt git (hub) d'origine existe toujours.
Le clonage avec ssh
au lieu de https
a résolu ce problème pour moi.
Cela pourrait être un problème de comptabilité. Le compte Github du propriétaire du dépôt en amont (privé) peut ne pas être financier. J'ai vu cela où la carte de crédit du client a expiré.
Après avoir changé https en http dans l'application Gitbox, cela a fonctionné pour moi.
ce qui a fonctionné pour moi est de passer de http à ssh:
git remote rm Origin
git remote add Origin [email protected]:username/repoName.git
puis le vérifier avec git remote -v
La seule chose qui m'a aidé est cette réponse à une autre question:
La célèbre "ERREUR de Git: L'autorisation de .git refusée à l'utilisateur"
En résumé, si vous êtes comme moi avec Windows, recherchez "Gestionnaire des informations d'identification" et ouvrez-le. Vous pouvez y trouver vos identifiants Git. Changer le nom d'utilisateur (que vous devez avoir changé pour quelque chose d'autre).
Vous pouvez également le trouver sous "Panneau de configuration" - "Compte d'utilisateur" - "Gestionnaire d'informations d'identification".
Dans mon cas, l'erreur est due à l'absence d'autorisations dans le référentiel.
Vous avez le même genre d'erreur. Impossible d’accéder à 403 . Dans My Case, aucune de ces réponses n’a fonctionné. Alors j'ai essayé le dessous, ça a marché.
Code poussé avec succès
! macOS!
Parfois, il n’ya rien de mal avec les paramètres, et il ya des problèmes sur les serveurs github.
https://status.github.com - statut actuel de github :)
J'ai eu ce problème en ce moment, et il s'est avéré que mon fichier de serveur /etc/resolver.conf avait une mauvaise adresse IP. Pourrait aider les autres.
Dans mon cas, je rencontrais l'erreur ci-dessus pour mon l'identifiant de l'email avec github n'était pas encore vérifié . GitHub donnait cet avertissement d'email non vérifié.
La vérification de l'e-mail, puis l'envoi ont fonctionné pour moi.
J'ai eu le même problème. Mon cas était: j’avais initialisé git repo localement avant de le créer sur github, puis j’ai essayé d’ajouter une branche distante. J'ai résolu mon problème en changeant l'ordre des actions: j'ai créé un repo sur le site github, puis je l'ai inité localement. Mais ce n'est pas le cas de ceux qui aiment faire tout en ligne de commande comme moi.
J'étais précédemment connecté en tant qu'utilisateur différent de github (disons utilisateur1). Pour mon compte github actuel (par exemple, utilisateur2), j’ai été en mesure de cloner un dépôt nouvellement créé dans github mais je n’étais pas en mesure d’appliquer les modifications.
J'ai essayé toutes les réponses mentionnées ci-dessus, y compris la suppression des informations d'identification de Windows Credential Manager, mais rien n'a fonctionné.
Finalement, ce qui a fonctionné a été de lancer github Windows App. Accédez à Paramètres-> Options et voilà le nom de l'utilisateur connecté était utilisateur1. Cliquez sur Déconnexion de cet utilisateur et connectez-vous en tant qu'utilisateur requis dans ce cas, utilisateur2
Pour résoudre ce type d'erreur pendant l'erreur Push, vous devez vous rendre dans le fichier de configuration du répertoire .git et modifier la ligne donnée:
precomposeunicode = true
[remote "Origin"]
http://[email protected]:abc/xyz.git
Changer la ligne à ceci
precomposeunicode = true
[remote "Origin"]
ssh://[email protected]/abc/xyz.git
Cela a résolu mon problème.
Essayez de créer votre origine en utilisant la clé SSH au lieu de HTTP.
Si vous pouvez lancer à l'aide de la clé SSH, l'URL commence par:
[email protected]:<YOUR REPO URL>
Maintenant, vous pouvez ajouter, valider et pousser vers votre branche correspondante
Si aucune des solutions ne fonctionne pour vous, lisez rapidement cette réponse [pourrait être votre cas]:
Pour ceux d'entre vous comme moi qui ont passé par toutes ces [grandes] réponses mais qui ont toujours du mal à pousser vos commits, il y a potentiellement une autre raison pour l'échec d'une poussée.
Vérifiez votre référentiel git (où qu’il se trouve, GitHub, BitBucket, ...) pour voir si tout va bien. Dans mon cas, après avoir passé beaucoup de temps à comprendre mon problème (même en blâmant la nouvelle édition de PyCharm! :)), je me suis rendu compte que j'avais fait des bêtises et que mon dépôt BitBucket avait dépassé la limite de 2 Go et était automatiquement passé en lecture seule. repo et c’est la raison pour laquelle je ne pouvais pas pousser de nouveau commit. Et, cela provoque exactement la même erreur (403: impossible d'accéder à l'URL.)
assurez-vous que vous disposez des autorisations suffisantes pour envoyer au référentiel si vous le faites, essayez alors d'exécuter ces commandes
git config --global user.email youremail@domain.
git config --global user.name username
git config --global user.password yourpassword
espérons que cela aide quelqu'un
Fournissez un accès en écriture à l'utilisateur.
Après avoir fourni l'accès, retirez le code une fois, puis appuyez dessus.
Une autre raison possible est que vous avez peut-être dépassé leur limite de plan.
Pour résoudre ce problème et restaurer l'accès en écriture au référentiel, vous devez soit mettre à niveau votre planification de compte, soit supprimer certains de vos collaborateurs.
J’ai eu le même problème avec bitbucket mais j’ai attendu 5 minutes, puis j’ai essayé à nouveau et cela fonctionnait bien. Parfois, cela pourrait être un problème avec le fournisseur.
Une autre raison pourrait être la vérification du courrier électronique sur github.com
Connectez-vous simplement à github.com et vérifiez s’il n’y a pas de message pour vous confirmer votre adresse e-mail. Confirmez si nécessaire.
Si vous utilisez BitBucket, votre compte peut être mis en lecture seule pour les raisons suivantes:
- Nous mettons à niveau nos segments de stockage et ne pouvons accepter de nouvelles données.
- Nous apportons des modifications qui ne nécessitent aucune nouvelle écriture.
- Le propriétaire du référentiel doit mettre à niveau son compte pour accepter un plus grand nombre d'utilisateurs.
https://confluence.atlassian.com/display/BITBUCKET/Repositories+in+Read-Only+Mode
Editez le fichier .git/config dans votre répertoire repo
Trouver url = entrée dans la section [remote "Origin"]
Changez-le de url = https://github.com/rootux/ms-Dropdown.git à https: //[email protected]/rootux/ms-Dropdown.git
où USERNAME est votre nom d'utilisateur github
=> Cette solution a fonctionné pour moi.
J'ai eu le même problème avec cette même erreur en me disant cela
remote: permission à l'utilisateur/repo.git refusée à l'utilisateur2.
Le problème avec ceci est que sous Windows et Mac, il est stocké en cache, un chemin clé vers Github.
Pour résoudre ce problème sur Mac, il suffit de le faire
git credential-osxkeychain erase
Rien ne sera invite à la console.
Ensuite, faites un Push normal et il devrait vous permettre de réécrire votre nom d'utilisateur et votre mot de passe depuis Github.
git commit -m "First Commit"
Pour les utilisations de fenêtre, voir les réponses ci-dessus ^ avec les informations d'identification stockées