Wie kann ich von einem anderen Computer Repository in Git ziehen?
Frage
Zum Beispiel habe ich den Ursprung Repository auf zwei Computer geklont. Dann gehe ich weiter und einige Änderungen vornehmen und sich verpflichten, das lokale Repository von Computer A. Wie ich jetzt diese Änderungen an Computer B ziehen? Beide Computer A und B sind mit einem Netzwerk verbunden ist.
Was ich suche das Äquivalent von jemand sein wird, manuell einen Patch erstellen und sie an mich zu senden, was ich zu meiner Arbeitskopie / local Repo anwenden können.
Lösung
Wenn das Gerät, von dem Sie ziehen wollen über ssh
zugänglich ist, können Sie das Repository auf sie als Remote über ssh hinzufügen, und ziehen Sie dann von ihm wie jedes Fern:
$ git remote add repo_b username@host:path/to/repository.git
$ git pull repo_b master
(Sie können den Schritt überspringen eine Fern Hinzufügen und geben Sie einfach die vollständige URL in der git pull
Befehl anstelle eines Remote-Namen, aber wenn Sie gehen in regelmäßigen Abständen aus dem Repository zu ziehen, es als eine Zugabe Remote finden Sie viele Eingabe speichern.)
Andere Tipps
Hier finden Sie aktuelle git pull --help
Das ist etwas wie git pull /my/other/repository
geben würde
Sie können einen tatsächlichen Server mit git daemon einzurichten. Andernfalls können Sie git Bündel verwenden, die in git internen Darstellung bündelt eine Datei, die mit git pull
am anderen Ende entbündelt werden kann.
z. von dem git docs, Bündelung alles:
git bundle create file.bundle master
Dann, am anderen Ende, man kann so etwas tun:
git pull file.bundle HEAD
Wenn Sie auf Computer B von SSH eine Verbindung herstellen können, können Sie verwenden:
git clone user@host:/path/to/repo
Es ermöglicht Remote über diese SSH-Verbindung Tracking und ermöglicht es Ihnen, git pull / push zu verwenden.
Es ist für mich für ein lokales Repository mit einem anderen Computer:
git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/
git pull origin_username master
oder
git pull origin_username some_branch
Ich habe kommen mit
git clone /path/to/local/repository
Bit A zu spät, aber für alle lohnt und die Antoine Pelisse Antwort zu erweitern, können Sie auch von ssh Host ziehen, die den gleichen Repo mit paar mehr Commits in sich hat, ohne eine Hinzufügen von Remote Ihre config:
git pull user@host:/path/to/repo # while in the local repo folder
Just klar sein - eine der möglichen Verwendungen dafür ist, wenn Sie zwei Hosts haben (A und B), die die gleiche Repo von einer geklontes Remote , und Sie haben einige Änderungen begangen auf dem Host A und wollen nicht, sie schieben Remote (noch) nicht, aber stattdessen mit synchronisieren Der Befehl über diese Festschreibungen von Host B ziehen möchten Ihre repos ohne Druck auf Remote .