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/config
des 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.