Skip to main content

Enterprise Server 3.20 ist derzeit als Release Candidate verfügbar.

Remote-Repositorys verwalten

Lerne, wie du mit deinen lokalen Repositories auf deinem Computer und mit Remote-Repositories auf GitHub arbeitest.

Platform navigation

Hinzufügen eines Remoterepositorys

Verwende zum Hinzufügen eines neuen Remoterepositorys im Terminal den Befehl git remote add in dem Verzeichnis, in dem dein Repository gespeichert ist.

Der Befehl git remote add akzeptiert zwei Argumente:

  • Ein Remote-Name (beispielsweise origin)
  • Eine Remote-URL (beispielsweise https://HOSTNAME/OWNER/REPOSITORY.git)

Zum Beispiel:

$ git remote add origin https://HOSTNAME/OWNER/REPOSITORY.git
# Set a new remote

$ git remote -v
# Verify new remote
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Weitere Informationen zur zu verwendenden URL findest du unter Informationen zu Remote-Repositorys.

Problembehandlung: Das Remoterepository „origin“ ist bereits vorhanden.

Dieser Fehler bedeutet, dass du versucht hast, ein Remote hinzuzufügen, dessen Name bereits in deinem lokalen Repository existiert.

$ git remote add origin https://HOSTNAME/octocat/Spoon-Knife.git
> fatal: remote origin already exists.

Du kannst das Problem wie folgt beheben:

  • Verwende einen anderen Namen für das Remoterepository.
  • Benenne das vorhandene Remoterepository um, bevor du das neue Remoterepository hinzufügst. Weitere Informationen findest du weiter unten unter Umbenennen eines Remoterepositorys.
  • Löschen Sie das bestehende Remote-Repository, bevor Sie das neue Remote-Repository hinzufügen. Weitere Informationen findest du weiter unten unter Entfernen eines Remoterepositorys.

Ändern der URL eines Remoterepositorys

Der Befehl git remote set-url dient zum Ändern der URL eines vorhandenen Remoterepositorys.

Tipp

Weitere Informationen zum Unterschied zwischen HTTPS- und SSH-URLs findest du unter Informationen zu Remote-Repositorys.

Der Befehl git remote set-url akzeptiert zwei Argumente:

  • einen vorhandenen Remote-Namen. origin und upstream werden beispielsweise häufig verwendet.

  • Eine neue URL für das Remote. Zum Beispiel:

    • Wenn Du eine Aktualisierung auf HTTPS durchführst, sieht die URL ähnlich aus wie folgende:
    https://HOSTNAME/OWNER/REPOSITORY.git
    
    • Wenn Du eine Aktualisierung auf SSH durchführst, sieht die URL ähnlich aus wie folgende:
    git@HOSTNAME:OWNER/REPOSITORY.git
    

Remote-URLs von SSH auf HTTPS umstellen

  1. Öffne TerminalTerminalGit Bash.

  2. Ändere das aktuelle Arbeitsverzeichnis zu deinem lokalen Projekt.

  3. Liste die vorhandenen Remotes auf, um den Namen des Remote zu erhalten, den du ändern möchtest.

    $ git remote -v
    > origin  git@HOSTNAME:OWNER/REPOSITORY.git (fetch)
    > origin  git@HOSTNAME:OWNER/REPOSITORY.git (push)
    
  4. Ändere die URL deines Remotes von SSH zu HTTPS mit dem Befehl git remote set-url.

    git remote set-url origin https://HOSTNAME/OWNER/REPOSITORY.git
    
  5. Überprüfe, ob die Remote-URL geändert wurde.

    $ git remote -v
    # Verify new remote URL
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)
    

Wenn Sie das nächste Mal git fetch, git pull oder git push an das Remote-Repository ausführen, werden Sie nach Ihrem GitHub-Benutzernamen und -Kennwort gefragt. Wenn Sie Git zur Eingabe Ihres Kennworts auffordert, geben Sie Ihr personal access token ein. Alternativ kann ein Hilfsprogramm für Anmeldedaten wie die Git Anmeldeinformationsverwaltung verwendet werden. Die kennwortbasierte Authentifizierung für Git wurde zugunsten sichererer Authentifizierungsmethoden aufgegeben. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.

Sie können einen Anmeldeinformationen-Helfer verwenden, damit Git sich jedes Mal, wenn es mit GitHub kommuniziert, Ihren GitHub-Benutzernamen und personal access token merkt.

Umstellen von Remote-URLs von HTTPS auf SSH

  1. Öffne TerminalTerminalGit Bash.

  2. Ändere das aktuelle Arbeitsverzeichnis zu deinem lokalen Projekt.

  3. Liste die vorhandenen Remotes auf, um den Namen des Remote zu erhalten, den du ändern möchtest.

    $ git remote -v
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)
    
  4. Ändern Sie die Remote-URL mithilfe des Befehls git remote set-url von HTTPS auf SSH.

    git remote set-url origin git@HOSTNAME:OWNER/REPOSITORY.git
    
  5. Überprüfe, ob die Remote-URL geändert wurde.

    $ git remote -v
    # Verify new remote URL
    > origin  git@HOSTNAME:OWNER/REPOSITORY.git (fetch)
    > origin  git@HOSTNAME:OWNER/REPOSITORY.git (push)
    

Problembehandlung: Es ist kein Remoterepository mit dem Namen „[Name]“ vorhanden.

Dieser Fehler bedeutet, dass das Remote, das Sie zu ändern versucht haben, nicht existiert:

$ git remote set-url sofake https://HOSTNAME/octocat/Spoon-Knife
> fatal: No such remote 'sofake'

Überprüfe, ob Du den Namen des Remote korrekt eingegeben hast.

Umbenennen eines Remoterepositorys

Verwende den Befehl git remote rename, um einen vorhandenen Remote umzubenennen.

Der Befehl git remote rename akzeptiert zwei Argumente:

  • Ein vorhandener Remote-Name, zum Beispiel origin
  • Ein neuer Name für die Remote, beispielsweise destination

Beispiel für die Umbenennung eines Remoterepositorys

In diesen Beispielen wird davon ausgegangen, dass du beim Klonen HTTPS verwendest (wie empfohlen).

$ git remote -v
# View existing remotes
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

$ git remote rename origin destination
# Change remote name from 'origin' to 'destination'

$ git remote -v
# Verify remote's new name
> destination  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> destination  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Problembehandlung: Der Konfigurationsabschnitt „remote.[alter Name]“ konnte nicht in „remote.[neuer Name]“ umbenannt werden.

Dieser Fehler bedeutet, dass der alte Remote-Name, den du eingegeben hast, nicht existiert.

Mit dem Befehl git remote -v kannst du überprüfen, welche Remoterepositorys vorhanden sind:

$ git remote -v
# View existing remotes
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Problembehandlung: Das Remoterepository „[neuer Name]“ ist bereits vorhanden.

Wenn dieser Fehler ausgegeben wird, wird der Name, in den Du das Remote-Repository umbenennen möchtest, bereits verwendet. Verwende entweder einen anderen Namen für das Remote, oder benenne das ursprüngliche Remote um.

Entfernen eines Remoterepositorys

Verwende den Befehl git remote rm, um eine Remote-URL aus deinem Repository zu entfernen.

Der Befehl git remote rm akzeptiert ein einzelnes Argument:

  • Einen Remote-Name (beispielsweise destination)

Wenn du die Remote-URL aus deinem Repository entfernst, wird lediglich die Verknüpfung zwischen lokalem Repository und Remoterepository aufgehoben. Das Remoterepository wird dadurch nicht gelöscht.

Beispiel für das Entfernen eines Remoterepositorys

In diesen Beispielen wird davon ausgegangen, dass du beim Klonen HTTPS verwendest (wie empfohlen).

$ git remote -v
# View current remotes
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)
> destination  https://HOSTNAME/FORKER/REPOSITORY.git (fetch)
> destination  https://HOSTNAME/FORKER/REPOSITORY.git (push)

$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Hinweis

Durch git remote rm wird das Remoterepository nicht vom Server gelöscht. Der Befehl entfernt lediglich den Remote und die zugehörigen Verweise aus deinem lokalen Repository.

Problembehandlung: Der Konfigurationsabschnitt „remote.[Name]“ konnte nicht entfernt werden.

Wenn dieser Fehler angezeigt wird, existiert das Remote, das Sie löschen wollten, nicht.

$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'

Überprüfe, ob Du den Namen des Remote korrekt eingegeben hast.

Weiterführende Lektüre

  •           [„Arbeiten mit Remoterepositorys“ aus dem _Pro Git_-Buch](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes)