SVN verwendet ein einziges zentrales Repository als Kommunikationsknotenpunkt für Entwickler, und die Zusammenarbeit erfolgt durch Übergabe von Änderungssätzen zwischen den Arbeitskopien der Entwickler und dem zentralen Repository. Dies unterscheidet sich vom verteilten Kollaborationsmodell von Git, das jedem Entwickler eine eigene Kopie des Repositorys mit einem eigenen lokalen Verlauf und einer eigenen Verzweigungsstruktur bietet. Benutzer müssen normalerweise eine Reihe von Commits anstelle eines einzelnen Änderungssatzes freigeben., Anstatt einen Änderungssatz von einer Arbeitskopie in das zentrale Repository zu übertragen, können Sie mit Git ganze Zweige für Repositorys freigeben.

Der Befehl git remote ist ein Teil des Betriebssystems, das für die Synchronisierung von Änderungen verantwortlich ist. Datensätze, die über den Befehl git remote registriert wurden, werden in Verbindung mit den Befehlen git fetch, git push und git pull verwendet. Diese Befehle haben alle ihre eigenen Synchronisierungsaufgaben, die auf den entsprechenden Links untersucht werden können.,

Git remote

Mit dem Befehl git remote können Sie Verbindungen zu anderen Repositorys erstellen, anzeigen und löschen. Remoteverbindungen ähneln eher Lesezeichen als direkten Links zu anderen Repositorys. Anstatt Echtzeitzugriff auf ein anderes Repository bereitzustellen, dienen sie als praktische Namen, mit denen auf eine nicht so bequeme URL verwiesen werden kann.

Das folgende Diagramm zeigt beispielsweise zwei Remoteverbindungen von Ihrem Repo in das zentrale Repo und das Repo eines anderen Entwicklers., Anstatt sie anhand ihrer vollständigen URLs zu referenzieren, können Sie die Verknüpfungen origin und john an andere Git-Befehle übergeben.

Git remote usage overview

Der Befehl git remote ist im Wesentlichen eine Schnittstelle zum Verwalten einer Liste von Remote-Einträgen, die in der ./.git/config – Datei des Repositorys gespeichert sind. Die folgenden Befehle werden verwendet, um den aktuellen Status der Remote-Liste anzuzeigen.

Anzeigen von git Remote-Konfigurationen

git remote

Listen Sie die Remote-Verbindungen auf, die Sie zu anderen Repositorys haben.,

git remote -v

Wie der obige Befehl, aber die URL jeder Verbindung enthalten.

Erstellen und Ändern von git Remote-Konfigurationen

Der Befehl git remote ist auch eine praktische oder ‚helper‘ – Methode zum Ändern der ./.git/config – Datei eines Repos. Mit den folgenden Befehlen können Sie Verbindungen zu anderen Repositorys verwalten. Die folgenden Befehle ändern die /.git/config – Datei des Repos., Das Ergebnis der folgenden Befehle kann auch erreicht werden, indem die Datei ./.git/config direkt mit einem Texteditor bearbeitet wird.

git remote add <name> <url>

Erstellen Sie eine neue Verbindung zu einem remote-repository. Nachdem Sie eine Fernbedienung hinzugefügt haben, können Sie sie als praktische Verknüpfung für andere Git-Befehle verwenden.

git remote rm <name>

Entfernen Sie die Verbindung zum Remote-Repository mit dem Namen .

git remote rename <old-name> <new-name>

Benennen Sie eine remote-Verbindung aus .,

Git remote discussion

Git wurde entwickelt, um jedem Entwickler eine vollständig isolierte Entwicklungsumgebung zu bieten. Dies bedeutet, dass Informationen nicht automatisch zwischen Repositorys hin und her weitergegeben werden. Stattdessen müssen Entwickler Upstream-Commits manuell in ihr lokales Repository ziehen oder ihre lokalen Commits manuell an das zentrale Repository zurückschieben. Der Befehl git remote ist wirklich nur eine einfachere Möglichkeit, URLs an diese „Freigabe“ – Befehle zu übergeben.,

The origin Remote

Wenn Sie ein Repository mit git clone klonen, wird automatisch eine Remoteverbindung namens origin erstellt, die auf das geklonte Repository verweist. Dies ist nützlich für Entwickler, die eine lokale Kopie eines zentralen Repositorys erstellen, da sie auf einfache Weise Upstream-Änderungen abrufen oder lokale Commits veröffentlichen können. Dieses Verhalten ist auch der Grund, warum die meisten Git-basierten Projekte ihren zentralen Repository-Ursprung aufrufen.

Repository-URLs

Git unterstützt viele Möglichkeiten, auf ein remote-repository., Zwei der einfachsten Möglichkeiten, auf ein Remote-Repo zuzugreifen, sind das HTTP-und das SSH-Protokoll. HTTP ist eine einfache Möglichkeit, anonymen schreibgeschützten Zugriff auf ein Repository zu ermöglichen. Beispiel:

But, it’s generally not possible to push commits to an HTTP address (you wouldn’t want to allow anonymous pushes anyways). For read-write access, you should use SSH instead:

ssh://user@host/path/to/repo.git

Sie benötigen ein gültiges SSH-Konto auf dem Hostcomputer, aber ansonsten unterstützt Git den authentifizierten Zugriff über SSH sofort. Moderne sichere 3rd Party Hosting Lösungen wie Bitbucket.com wird diese URLs für Sie bereitstellen.

Git remote commands

Der Befehl git remote ist einer von vielen Git-Befehlen, die zusätzlich angehängte ‚Unterbefehle’verwenden., Nachfolgend finden Sie eine Untersuchung der häufig verwendeten git remote – Unterbefehle.

ADD <NAME> <URL>

Fügt einen Datensatz zu ./.git/config für Remote an der Repository-URL benannt .

Akzeptiert eine-f Option, diegit fetch unmittelbar nach dem Erstellen des Remote-Datensatzes wird.

Akzeptiert eine--tags Option, diegit fetch sofort und importieren Sie jedes Tag aus dem Remote-Repository.,

RENAME <OLD> <NEW>

Updates ./.git/config umbenennen, um die Aufzeichnung zu . Alle Remote-Tracking-Zweige und Konfigurationseinstellungen für die Fernbedienung werden aktualisiert.

REMOVE or RM <NAME>

Verändert ./.git/config und entfernt den remote-Namen . Alle Remote-Tracking-Zweige und Konfigurationseinstellungen für die Fernbedienung werden entfernt.

GET-URL <NAME>

Gibt die URLs für einen entfernten Datensatz aus.

Akzeptiert --push, Push-URLs werden abgefragt, anstatt URLs abzurufen.,

Mit --all werden alle URLs für die Fernbedienung aufgelistet.

SHOW <NAME>

Gibt hochrangige Informationen über die Fernbedienung aus .

PRUNE <NAME>

Löscht alle lokalen Zweige, die nicht im Remote-Repository vorhanden sind.

Akzeptiert eine--dry-run – Option, die auflistet, welche Zweige beschnitten werden sollen, sie jedoch nicht tatsächlich beschneidet.

Git remote examples

Zusätzlich zu origin ist es häufig praktisch, eine Verbindung zu den Repositorys Ihrer Teamkollegen herzustellen., Wenn Ihr Mitarbeiter John beispielsweise ein öffentlich zugängliches Repository für dev.example.com/john.git verwaltet, können Sie eine Verbindung wie folgt hinzufügen:

git remote add john http://dev.example.com/john.git

Wenn Sie diese Art von Zugriff auf die Repositorys einzelner Entwickler haben, können Sie außerhalb des zentralen Repositorys zusammenarbeiten. Dies kann für kleine Teams, die an einem großen Projekt arbeiten, sehr nützlich sein.

Zeigt Ihre Fernbedienungen an

Standardmäßig listet der Befehl git remote zuvor gespeicherte Remoteverbindungen zu anderen Repositorys auf., Dadurch wird eine einzeilige Ausgabe erzeugt, die die Namen des „Lesezeichen“ – Namens von Remote-Repos auflistet.

$ git remote
origin
upstream
other_users_repo

Durch Aufrufen von git remote mit der Option -v wird die Liste der mit Lesezeichen versehenen Repository-Namen und zusätzlich die entsprechende Repository-URL gedruckt. -v option steht für „verbose“. Unten finden Sie eine Beispielausgabe der ausführlichengit remote Ausgabe.

Hinzufügen von Remote-Repositorys

Der Befehl git remote add erstellt einen neuen Verbindungsdatensatz zu einem Remote-Repository., Nachdem Sie eine Fernbedienung hinzugefügt haben, können Sie sie als praktische Verknüpfung für andere Git-Befehle verwenden. Weitere Informationen zur akzeptierten URL-Syntax finden Sie im Abschnitt“ Repository-URLs “ unten. Dieser Befehl erstellt einen neuen Datensatz innerhalb der ./.git/configdes Repositorys. Ein Beispiel für dieses Konfigurationsdateiupdate folgt:

Überprüfen einer Fernbedienung

Der Unterbefehl show kann an git remote angehängt werden, um eine detaillierte Ausgabe zur Konfiguration einer Fernbedienung zu erhalten., Diese Ausgabe enthält eine Liste von Zweigen, die der Fernbedienung zugeordnet sind, sowie die Endpunkte, die zum Abrufen und Pushen angehängt sind.

git remote show upstream
* remote upstream
Fetch URL: https://bitbucket.com/upstream_user/reponame.git
Push URL: https://bitbucket.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)

Abrufen und Abrufen von Git-Fernbedienungen

Sobald ein Remote-Datensatz mithilfe des Befehls git remote konfiguriert wurde, kann der Remote-Name als Argument an andere Git-Befehle übergeben werden, um mit dem Remote-Repo zu kommunizieren. Sowohl git fetch als auch git pull können zum Lesen aus einem Remote-Repository verwendet werden., Beide Befehle haben unterschiedliche Operationen, die auf ihren jeweiligen Links näher erläutert werden.

Push to Git remotes

Der Befehl git push wird zum Schreiben in ein Remote-Repository verwendet.

git push <remote-name> <branch-name>

In diesem Beispiel wird der lokale Status von in das von angegebene Remote-Repository hochgeladen .

Fernbedienungen umbenennen und entfernen

git remote rename <old-name> <new-name>

Der Befehl git remote umbenennen ist selbsterklärend. Wenn dieser Befehl ausgeführt wird, benennt er eine Remoteverbindung von in um ., Zusätzlich wird dadurch der Inhalt von ./.git/config geändert, um den Datensatz auch für die Fernbedienung dort umzubenennen.

git remote rm <name>

Der Befehl git remote rm entfernt die durch den Parameter angegebene Verbindung zum Remote-Repository. Um zu demonstrieren, lassen Sie uns den Remote-Zusatz aus unserem letzten Beispiel rückgängig machen. Wenn wir git remote rm remote_test ausführen und dann den Inhalt von ./.git/config untersuchen, können wir sehen, dass der – Datensatz nicht mehr vorhanden ist.