Meine Organisation wechselt von Bitbucket zu Github für das Projektmanagement. Heute habe ich versucht, unser neuestes Projekt mithilfe von SourceTree von Bitbucket nach Github zu übertragen. Ich habe dem Projekt ein zweites Remote-Repository hinzugefügt (über die URL des Ziel-Repositorys auf Github), alles auf den neuesten Stand gebracht und dann versucht, den Code in das Repository zu verschieben. Eine Box öffnete sich und fragte nach dem Passwort für meinen Github-Account. Ich gab mein (richtiges) Passwort ein und klickte auf 'OK'. Das Dialogfeld wurde erneut angezeigt. Ich habe mein Passwort (richtig) erneut eingegeben, und es hat dasselbe getan.
Mein Benutzername ist korrekt identifiziert, mein Passwort ist korrekt und ich habe versucht, SourceTree zu aktualisieren, weil ich gehört hatte, dass es bei einer früheren Version ein Problem gab. Das Problem besteht weiterhin.
Ich verwende SourceTree 2.3.1
Wenn Sie die Zwei-Faktor-Authentifizierung mit GitHub verwenden, müssen Sie ein persönliches Zugriffstoken erstellen und es mit SourceTree verwenden :
Um mit der Zwei-Faktor-Authentifizierung von GitHub in SourceTree zu arbeiten, können Sie einfach Ihr Zugriffstoken anstelle Ihres Kennworts verwenden. Die Schritte dazu sind wie folgt:
- Gehen Sie zu Ihren Personal Access Tokens -Einstellungen in GitHub.
- Klicken Sie auf die Schaltfläche Generate new token.
- Benennen Sie das Token als beschreibend.
- Wählen Sie aus, welche Bereiche Sie dieses Token vergeben möchten.
- Klicken Sie auf die Schaltfläche Generate token.
- Kopieren Sie das Token und verwenden Sie es als Kennwort in Ihren gehosteten Repositorys.
Weitere Informationen hierzu finden Sie unter GitHub's Hilfe hier .
Mac-Benutzer:Wenn Ihr SourceTree weiterhin nach dem Kennwort fragt, gehen Sie zum Terminal und geben Sie Folgendes ein:
git config --global credential.helper osxkeychain
Ich hatte nach einem Update etwas Ähnliches. Ich habe versucht, meine Bitbucket-Anmeldeinformationen erneut hinzuzufügen, die Protokolle usw. zu ändern, ohne Erfolg, bis ...
Ich öffnete meinen Schlüsselbund und suchte nach Bitbucket (wahrscheinlich das Gleiche für Github, suche stattdessen nach Github) in der Kategorie "Passwörter".
Ich stellte fest, dass ich mehrere Zugriffsschlüssel für meinen Benutzer hatte, also schloss ich mein Repository, löschte alle Schlüssel des Typs "Anwendungskennwort", öffnete die SourceTree-Voreinstellungen> Konten> entfernte mein Konto und fügte es erneut hinzu (Anmelden wie gewohnt - ich verwendet Basic mit HTTPS).
Keychain bittet um Erlaubnis, das Passwort zu speichern, was ich ja gesagt habe und jetzt sehe ich nur noch einen Schlüssel der Art "Anwendungspasswort".
Ich habe mein Repository vom Repo-Browser aus geöffnet und hey, keine Passwort-Popups mehr!
Das hat mich eine ganze Woche lang geärgert! Wenn dir das geholfen hat, kannst du jetzt ein bisschen mit mir tanzen :)
Öffnen Sie das Terminal und klonen Sie Ihr Repo. Repository-URL muss Ihre Used-ID haben, Für ex:
$ git clone https://<username>@github.com/<userId>/<reponame>.git
$ git clone https://[email protected]/mak123/<reponame>.git
Ziehen Sie den geklonten Ordner dann in das SourceTree-Fenster und legen Sie ihn dort ab. Sie können auch auf die Schaltfläche "+ Neues Repository" klicken und im Menü "Vorhandenes lokales Repository hinzufügen" ..__ auswählen. Es wird jedoch möglicherweise dieses Mal erneut nach dem Kennwort gefragt wird zu Ihrem Schlüsselbund hinzugefügt.
SourceTree Version 2.4.8.0
Das Problem schien für mich die Reihenfolge des Setups zwischen SourceTree und GitHub zu sein. Ich habe SourceTree zuerst eingerichtet und alle Optionen für "später einrichten" angeklickt.
Eine einfache Lösung: Deinstallieren Sie SourceTree und installieren Sie es erneut. Das nicht offensichtliche Bit musste die eigentlichen Programmdateien manuell löschen.
Öffnen Sie den Dateispeicherort von einer beliebigen "SourceTree.exe" - Verknüpfung. Mein Name ist "C:\Benutzer\Benutzername\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Atlassian", wo die Verknüpfung auf eine andere Verknüpfung verweist.
Öffnen Sie den Dateispeicherort dieser Verknüpfung. Ich landete schließlich bei "C:\Users\Benutzername\AppData\Local\SourceTree". Löschen Sie den gesamten Ordner "SourceTree". Gehen Sie eine Ebene zu "...\Local" und löschen Sie den Ordner "Atlassian".
Deinstallieren Sie jetzt SourceTree. Stellen Sie sicher, dass Ihr GitHub so eingerichtet ist, wie Sie es wünschen (für mich habe ich auch einen SSH-Schlüssel erstellt und gespeichert, den ich für das SourceTree-Setup verwendet habe). Installieren Sie SourceTree erneut mit allen korrekten Anmeldeinformationen, zeigen Sie auf das richtige Repository und so.
Nach all dem fragte SourceTree zweimal nach meinen GitHub-Anmeldeinformationen, mit zwei verschiedenen Dialogfeldern, stoppte dann und arbeitete! Keine Endlosschleife mehr. Viel Glück!
Eine Lösung, die mir von Andrew Magill zur Verfügung gestellt wurde. Aus Quelle kopiert: link
Das Problem ist, dass der eingebettete Git-Client von SourceTree mit git-credential-manager v1.12 geliefert wird, der nicht mehr mit Github funktioniert, da TLS 1.1 auf ihrer Site deaktiviert wurde. Sie benötigen git-credential-manager v1.14. Am einfachsten ist es, eine aktuelle Kopie des Git-Clients separat zu installieren und dann SourceTree zu wechseln, um dieses System ("git") anstelle des eingebetteten Clients zu verwenden. Alternativ können Sie git-credential-manager in Ihrem eingebetteten Client aktualisieren, indem Sie die Dateien durch die neueste Version von Microsoft ersetzen.
Zusätzlich zum Einrichten des persönlichen Zugriffstokens für GitHub und zum Ausführen der oben von A_01 angegebenen Bedingungen kann dies hilfreich sein (so habe ich es schließlich zum Laufen gebracht)
Das habe ich entdeckt (nachdem ich in meinem Laufwerk C nach 'sourcetree' gesucht hatte :):
Wenn Sie die Authentifizierung "Benutzername und Kennwort" verwenden, können Sie versuchen, die Verwendung von SSH-Schlüsseln für die Authentifizierung zu ändern.
Ich habe diese Art von Situation getroffen, wenn ich mich jedes Mal bei GitLab verpflichte. Wenn ich die Authentifizierungsmethode geändert habe: SSH keys, wurde das Problem gelöst.
In meinem Fall geschah dies mit einem Submodul, das standardmäßig auf https gesetzt war, obwohl das Hauptprojekt ssh verwendete. Ich habe es behoben, indem ich den Repo-Pfad des Submoduls in den Repository-Einstellungen von SourceTree so geändert habe, dass der ssh-Pfad anstelle von https verwendet wird.
Ich verwende einen SSH-Schlüssel, aber SourceTree hat mich jedes Mal nach einem Passwort gefragt.
Gefunden in der Community von Atlassian, hat diese Lösung für mich funktioniert:
git config credential.helper store
git pull
Voilà!
Wenn Sie GitHub 2FA nicht verwenden, ist ein weiterer Grund, Sie nach Ihrem Kennwort zu fragen, folgende:
Ihre GitHub-Repo-URL ist eine ssh-URL und keine https-URL.
Da git Ihre SSH-Schlüssel nicht findet (oder Ihr SSH-Schlüssel nicht in Ihrem GitHub-Konto registriert ist), schlägt der Mechanismus für Konto/Kennwort fehl.
Wenn Sie 2FA (und eine https-URL) verwenden, benötigen Sie ein persönliches Token als Kennwort .