Und da Githup die Anmeldung mit Username+Passwort gesperrt hat, mußt du bei deinem Repo, in der Git-Config hinterlegen, dass GIT Dieses benutzen soll.
*
ssh-keygen.exe (nach C:\Users\%USERNAME%\.ssh\id_rsa)
* die C:\Users\%USERNAME%\.ssh\id_rsa.pub öffnen und Key im Github eintragen
* Verbindung prüfen :
ssh git@github.com
* im Tortoise > Settings > Network : die
ssh.exe als Client eintragen
* Delphi hat bestimmt kein eigenes
SSH und sollte demnach das Globale benutzen
git config --global user.email "******"
git config --global user.name "******"
(muß nicht global ... kann auch lokal in jedes einzelne Repo)
Und nun sollte GIT überall den richtigen Zugang nehmen, bzw. immer die
SSH.exe mit dem hinterlegten Key
egal ob Git-Console, GitHubDesktop, Tortoise oder im Delphi.
Hi, erstmal danke für die Anleitung. Hatte leider nach langem und mehrmaligem versuchen und neu installieren der Git Programme keinen Erfolg.
Ich habe folgendes gemacht:
- Delphi geschlossen
- Mit ssh-keygen das key-paar im korrektem Verzeichnis erstellt.
- Den Public Key in Github eingetragen
- Die Verbindung geprüft - hat geklappt. Ich erhalte folgende Ausgabe:
Hi korrekter-username! You've successfully authenticated, but GitHub does not provide shell access.
- In TortoiseGit unter Netzwerk die OpenSSH exe ausgewählt.
- Ich habe sichergestellt dass meine globale Git konfiguration meinen Usernamen und Email enthält.
- Delphi und das Projekt geöffnet
- Keine Änderung in Delphi durchgeführt - das heisst unter "Tools -> Optionen -> Versionskontrolle -> Git" ist immernoch die normale git.exe ausgewählt.
Unter autorisierung ist der korrekte Benutzername sowie die korrekte E-Mail hinterlegt.
Wenn ich versuche über die
IDE (Rechte Maustaste auf das Projekt -> Git -> Push) erscheint immer noch ein Fenster welches nach meinem Benutzernamen und Passwort fragt. Nach der Eingabe erscheint der selbe Fehler wie im ersten Post, also dass die Benutzer/Passwort kombination nicht mehr geht.
Ich habe dann noch folgendes versucht:
- Re-installation von Git und TortoiseGit - Github Desktop komplett de-installiert
- Git Email und Benutzer local statt global hinzugefügt
- Mit ssh-add den generierten private key registriert.
- Mit git config remote.origin.url git@github.com:mein_username/mein_projekt.git versucht eine ssh remote addresse festzulegen.
-> Aber wie du schon korrekt sagtest, Delphi kann damit aber nichts anfangen.
- Neues, öffentliches Projekt auf Github erstellt und getestet.
... Leider alles ohne erfolg.
Hast du vielleicht sonst noch eine Idee was ich versuchen könnte oder ob ich etwas übersehen habe? Muss ich in Delphi vielleicht noch die git.exe anpassen?
Verwende doch einfach TortoiseGit. Da kannst du die Befehle wie auf der Kommandozeile ausführen, nur mit entsprechender
GUI.
Alternativ einen anderen Git
GUI benutzen wie SmartGit oder GitKraken,
die bieten normalerweise gleicch GitHub ntegration, d.h. können was mit
dem OAuth Token von GitHub anfangen.
Falls dein Projekt nicht Open Source ist kosten die allerdings etwas Geld.
Ja, sollte ich die Integration in der
IDE nicht zum Laufen bekommen werde ich wohl oder übel wieder auf ein externes Tool zurückgreifen müssen. Habe mir die beiden Programme mal angesehen und sehen schon sehr interessant aus. Sollte es nicht klappen werde ich mir GitKraken mal genauer ansehen und einen trial test starten.
Ich finde dazu bei einer schnellen Suche noch keinen Bugreport. Daher: Nein, wenn es niemand meldet, gibt es keine Möglichkeit.
Ist ja kein Bug sondern so gewollt von GitHub. Müsste eigentlich bei Embarcadero doch schon längst auf dem Schirm sein.
https://quality.embarcadero.com/browse/RSP-31992