2010-10-14 17:17:28 +0000 2010-10-14 17:17:28 +0000
174
174

Hoe zorg ik ervoor dat Git mij niet om mijn GitHub gebruikersnaam en wachtwoord vraagt?

Ik werk met een repo op GitHub en elke keer als ik iets probeer te pushen, vraagt het om mijn GitHub gebruikersnaam en wachtwoord. Ik wil niet dat het dat doet.

Ik heb de instructies op het instellen van je email in Git geprobeerd, namelijk het instellen van de Git variabelen github.user en github.token, maar dat maakte geen verschil.

Ik begrijp niet waarom dit gebeurt.

Antwoorden (12)

215
215
215
2011-08-08 22:36:29 +0000

Had een soortgelijk probleem vandaag: Ik heb het verknald in mijn werkkopie, dus heb ik besloten om de directory te hernoemen en mijn project opnieuw te klonen vanuit github. Maar nadat ik dat had gedaan, moest ik mijn wachtwoord invoeren om een pull/push verzoek te doen, in plaats van de passphrase maar één keer in te voeren zoals vroeger.

Dat was omdat ik vandaag het https-protocol heb gebruikt om het project te klonen! Om te controleren welk protocol je gebruikt hoef je alleen maar

git config -l

te draaien en te kijken naar de regel die begint met ‘remote.origin.url’.

Om van protocol te wisselen:

git config remote.origin.url git@github.com:the_repository_username/your_project.git

the_repository_username en your_project moeten worden vervangen door de juiste naam van de opslagplaats en de eigenaar van die opslagplaats. De gebruikersnaam zal de uwe zijn als u eigenaar bent van de repository, of anders de gebruikersnaam van de eigenaar van de repository.

34
34
34
2010-10-14 17:28:04 +0000

U dient een ssh-agent op te zetten waartegen u zich slechts één keer hoeft te authenticeren. Zie dit antwoord op SO voor een howto.

31
31
31
2013-12-03 22:40:15 +0000

Als u HTTPS gebruikt in plaats van SSH, kunt u dit volgen :

    1. Zoek uw externe URL (remote.origin.url) met
  1. Uw externe URL zal zo zijn: https://{USERNAME}@github.com/{USERNAME}/{REPONAME}.git

    1. Voer dit commando uit:
26
26
26
2014-11-21 04:27:04 +0000

Ik gebruik liever HTTPS, ik vind het makkelijker en veiliger dan het instellen van de ssh-sleutels.

Met behulp van HTTPS kun je voorkomen dat git je gebruikersnaam vraagt voor github-afstandsbedieningen met de volgende:

git config --global url."https://yourusername@github.com".insteadOf "https://github.com"

En je kunt op zijn minst de frequentie die git vraagt voor je wachtwoord verminderen met:

git config --global credential.helper 'cache --timeout=28800'

Waar 28800 8 uur zijn. Ik gebruik deze instelling om mijn wachtwoord slechts één keer in te voeren, wanneer ik mijn werkdag begin.

Daarna heeft u deze gegevens in uw ~/.gitconfig

[url "https://yourusername@github.com"]
    insteadOf = https://github.com

[credential]
    helper = cache --timeout=28800

Bron: http://git-scm.com/docs/git-credential-cache http://git-scm.com/docs/git-config

6
6
6
2014-02-23 11:54:29 +0000

Als u in Windows gebruik maakt van HTTPS, probeer dan de Git Credential Store - deze gebruikt de Windows Credential Store om uw naam en wachtwoord vast te houden.

Windows Credential Store for Git
This application is a small helper app designed to follow the 
git credentials API as defined by the Git Documentation.

Installation
1. Download the git-credential-winstore.exe application
2. Run it! If you have GIT in your PATH, it should just work.

De volgende keer dat u uw naam en wachtwoord invoert, zal deze voor u worden onthouden.

6
6
6
2010-10-14 19:45:54 +0000

Wanneer u een ssh-sleutel voor github instelt, als het niet uw standaardsleutel is, moet u een sectie aan uw ~/.ssh/config Host *github.com User git IdentityFile ~/.ssh/github_id_rsa toevoegen.

5
5
5
2013-08-11 03:17:37 +0000

Ook, als u iedere keer om uw wachtwoord gevraagd wilt worden, maar alleen niet om uw gebruikersnaam, dan configureert u de afstandsbediening als HTTPS met een gebruikersnaam. Zoals dit… git config remote.origin.url https://USERNAME@github.com/repo_owner/repo_name

Hierna wordt u elke keer om uw wachtwoord gevraagd, maar niet om uw gebruikersnaam.

Zo geef ik er de voorkeur aan, omdat ik graag gedwongen word om mijn github-wachtwoord in te typen voordat ik het met de wereld deel.

2
2
2
2014-09-25 19:45:49 +0000

Dingen zijn een beetje anders als je 2-factor-authenticiteit gebruikt zoals ik. Aangezien ik elders geen goed antwoord heb gevonden, zal ik er hier een plakken zodat ik het misschien later kan vinden.

Als je 2-factor-authenticiteit gebruikt, dan zal het specificeren van gebruikersnaam/wachtwoord niet werken - je krijgt geen toegang. Maar je kunt een applicatie-toegangstoken gebruiken en git’s credential helper gebruiken om dat voor je te cachen. Hier zijn de relevante links:

En ik weet niet meer waar ik dit zag, maar wanneer je gevraagd wordt naar je gebruikersnaam - dat is waar je het applicatietoegangsmerkteken plakt. Laat dan het wachtwoord leeg. Werkte op mijn mac.

2
2
2
2016-06-19 21:27:34 +0000

gebruik SSH

Om te voorkomen dat GitHub tijdens het duwen om het wachtwoord vraagt, moet u idealiter ** SSH** (git@github.com:...) gebruiken in plaats van HTTPS URL (https://github.com/...) en uw SSH-sleutel toevoegen aan uw GitHub-account . Zie: Welke externe URL moet ik gebruiken? ](https://help.github.com/articles/which-remote-url-should-i-use/)

een credentiële helper

anders moet u, als u echt HTTPS moet gebruiken, cache uw GitHub wachtwoord in Git , gebruiken een credentiële helper om Git te vertellen dat het uw GitHub gebruikersnaam en wachtwoord moet onthouden elke keer dat het met GitHub praat.

  • Mac: git config --global credential.helper osxkeychain (osxkeychain helper is vereist),
  • Windows: git config --global credential.helper wincred
  • Linux en andere: git config --global credential.helper cache ### .netrc

Een andere methode is om uw gebruiker/wachtwoord te configureren in ~/.netrc (_netrc op Windows), e. g.

machine github.com
login USERNAME
password PASSWORD

OAuth

Gebruik OAuth token Personal API token ) om de wijzigingen door te drukken, bijv.

git push https://4UTHT0KEN@github.com/foo/bar
  • *

Gerelateerd:

1
1
1
2016-06-05 12:21:50 +0000

Het vragen van de gebruikersnaam is vervelend voor mij, maar het vragen van een wachtwoord is leuk omdat het ervoor zorgt dat je echt openbaar wilt gaan met je wijzigingen…

Dus ik voeg dit gewoon toe aan mijn “.gitconfig” [url "https://myusername@github.com"] insteadOf = https://github.com

1
1
1
2016-04-05 14:31:43 +0000

Ook als je Windows gebruikt, kun je:

$ git config --global credential.helper wincred

gebruiken, je hoeft alleen nog maar een keer in te loggen en dan zal git het zich herinneren.

0
0
0
2016-07-07 13:37:29 +0000

Gebruik Git Credential Manager voor Windows , als u op Windows zit.

** Dit project omvat** :

  • Veilige wachtwoordopslag in de Windows Credential Store
  • Multi-factor authenticatie ondersteuning voor Visual Studio Team Services
  • Twee-factor authenticatie ondersteuning voor GitHub
  • Persoonlijke Toegang Token generatie en gebruik ondersteuning voor Visual Studio Team Services en GitHub
  • Ondersteuning voor niet-interactieve modus voor Visual Studio Team Services ondersteund door Azure Directory
  • Kerberos authenticatie voor Team Foundation Server
  • Optionele instellingen voor buildagent optimalisatie

Gewoon download de laatste versie en installeer deze.

Hoe te gebruiken

U hoeft niet. Het werkt magischerwijze wanneer er referenties nodig zijn.