Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Git-Befehle und -Einstellungen
  6. Fehlerbehebung
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Fehlerbehebung


Fehler „Permission denied (publickey)“ (Berechtigung verweigert (publickey)) bei der Verbindung mit einem Remoterepository über SSH

Zunächst sollten Sie Folgendes sicherstellen:

  • Ist die URL korrekt?
  • Ist der geheime Schlüssel auf dem lokalen Computer richtig konfiguriert?
  • Ist der öffentliche Schlüssel im Remoterepository richtig konfiguriert?

Sie können die Konfiguration des öffentlichen/geheimen Schlüssels für das Backlog-Remoterepository überprüfen, indem Sie den folgenden Befehl ausführen:

$ ssh <space>@<space>.git.backlog.com

Ersetzen Sie <space> durch einen Backlog-Space in Ihrem Besitz (z. B. ist dies für den Space demo.backlog.com der Eintrag demo@demo.git.backlog.com)

Wenn die Einstellung korrekt ist, erhalten Sie die folgende Ausgabe. Wenn Sie eine Fehlermeldung erhalten, wiederholen Sie die obigen Schritte, und vergewissern Sie sich, dass Sie alle Schritte richtig ausgeführt haben.

Hi yourname! You've successfully authenticated, but Backlog does not provide
  shell access.
  Connection to git.backlog.com closed.

Klonen eines Remoterepositorys über dessen HTTPS-URL ist nicht möglich

Bei älteren Versionen von Git kann es gelegentlich zu Problemen beim Ausführen eines Push- oder Pull-Vorgangs kommen. Es wird empfohlen, die neueste Git-Version oder eine höhere Version als v2 zu verwenden. Wenn Sie einen Git-Client wie Sourcetree oder TortoiseGit verwenden, benutzen Sie die Git-Version, die mit dem entsprechenden Client mitgeliefert wird.

Ich werde jedes Mal zur Eingabe des Kennworts aufgefordert, wenn ich einen Push zum/Pull aus dem Remoterepository ausführe.

Sie können die mehrfache Eingabe des Kennworts vermeiden, indem Sie folgende Konfiguration durchführen.

Windows

Sie können git-credential-winstore verwenden, sodass Sie nur beim ersten Push/Pull nach dem Kennwort gefragt werden.

Mac

Sie können Sourcetree (das wir in einem früheren Kapitel behandelt haben) verwenden, um eine Verbindung mit dem Mac-Schlüsselbund herzustellen. Auf diese Weise kann Git erkennen, welche Anmeldeinformationen bei jedem Pull- oder Push-Vorgang zu verwenden sind.

Console

Auf einem Mac können Sie die Git-Anmeldeinformations-API verwenden, um einen Benutzernamen und ein Kennwort mit Git-Vorgängen zu verknüpfen. Wenn Sie Homebrew verwenden, wird die Git-Anmeldeinformations-API automatisch installiert. Andernfalls müssen Sie sie manuell installieren.

Mit dem folgenden Befehl können Sie überprüfen, ob die Anmeldeinformations-API installiert ist.

$ git credential-osxkeychain
  Usage: git credential-osxkeychain <get|store|erase>

Wenn die Anmeldeinformations-API nicht installiert ist, wird die folgende Ausgabe angezeigt.

$ git credential-osxkeychain
  git: 'credential-osxkeychain' is not a git command. See 'git --help'.

In diesem Fall können Sie sie herunterladen und die Dateien in „/usr/local/bin“ ablegen.

$ curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
$ chmod u+x git-credential-osxkeychain
$ mv git-credential-osxkeychain /usr/local/bin

Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um die Anmeldeinformations-API zu aktivieren.

git config --global credential.helper osxkeychain

Änderungen, die in das Remoterepository übertragen wurden, werden dort nicht angezeigt

Beim Ausführen eines Push-Vorgangs kann die folgende Meldung angezeigt werden. Dies ist normalerweise der Fall, wenn Sie von einem neuen lokalen Repository aus pushen.

$ git push
  No refs in common and none specified; doing nothing.
  Perhaps you should specify a branch such as 'main'.
  Everything up-to-date

Durch das Weglassen des Branch-Namens beim Ausführen eines Push-Vorgangs geht Git standardmäßig davon aus, dass Sie versuchen, die aktuelle Änderung in einen Remote-Branch mit demselben Namen wie der lokale Branch zu pushen. Dies geschieht, wenn der Haupt-Branch im Remoterepository noch nicht erstellt wurde. (Wir führen den Push-Vorgang vom lokalen Haupt-Branch aus.) In diesem Fall müssen wir den Namen des Branches explizit verwenden, wenn wir einen Push ausführen.

$ git push -u origin main

Auf diese Weise wird der Haupt-Branch im Remoterepository automatisch erstellt. Beim nächsten Ausführen des Push-Vorgangs können Sie den Branch-Namen weglassen.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life