2010-02-01 4 views
7

Ich entwickle ein Projekt auf meinem PC (ein Macbook). Ich benutze Git, um es zu versionieren.Git: ein Projekt per Mail synchronisieren

Ich habe einen anderen Computer (den ich bei der Arbeit verwende), wo ich das gleiche Projekt tagsüber entwickeln möchte. Ich habe einen kostenlosen Account bei Github, damit ich ihn nutzen kann, um die Arbeit zu synchronisieren und die Entwicklung von Home und Working zu synchronisieren, aber das Projekt ist nicht "öffentlich".

Also, jede Art und Weise mit Git arbeiten mit E-Mail als Synchronisierungswerkzeug?

Dank

Antwort

7

Sie sollten auch in git-bundle suchen. Aus der Hilfe:

Einige Arbeitsabläufe erfordern, dass ein oder mehrere Zweige der Entwicklung auf einer Maschine auf einer anderen Maschine repliziert werden, aber die beiden Maschinen nicht direkt verbunden werden können. Daher die interaktiven git-Protokolle (git, ssh, rsync, http) kann nicht verwendet werden. Dieser Befehl bietet Unterstützung für `git fetch` und` git pull`, um Objekte und Verweise in einem Archiv auf der ursprünglichen Maschine zu packen und diese nach dem Verschieben des Archivs mit `git fetch` und` git pull` in ein anderes Repository zu importieren einige Mittel (zB von sneakernet). Da keine direkte Verbindung zwischen den Repositories besteht, muss der Benutzer eine Basis für das Bundle angeben, das vom Ziel-Repository gehalten wird: Das Bundle setzt voraus, dass sich alle Objekte in der Basis bereits im Ziel-Repository befinden.

Bundles sind Binärdateien, aber sie sind in der Regel klein, da Sie nicht das gesamte Repository einschließen müssen und sie komprimiert sind.

Git Magic hat einige Beispielverwendung auch.

2

Git hat ein paar ziemlich leistungsfähige Werkzeuge für die automatische Patch-Sets machen und dann auch sie für Sie senden. Oder Sie können sie später manuell formatieren. Ich würde einige Zeit damit verbringen, die Dokumentation auf der Git-Website für einige Beispiele und Informationen zu lesen.

6

Werfen Sie einen Blick auf git-send-email und git-format-patch.

EDIT: Pat answer ist besser, da es die Commit-IDs bewahrt.

+2

Nur für zukünftige Referenz, ist git-am das Werkzeug, das verwendet wird, um die Patches zu verwenden, nachdem sie auf der Empfängerseite erhalten wurden. – davr

2

Haben Sie darüber nachgedacht, etwas anderes als E-Mail zu verwenden, um das Projekt zu synchronisieren? Wenn Sie berechtigt sind, sie bei der Arbeit installieren, könnten Sie Dropbox verwenden, um git Projekten zwischen Computern zu synchronisieren:

cd ~/Dropbox/git/ 
git init --bare my_project.git 
cd ~/my_project/ 
git remote add dropbox ~/Dropbox/git/my_project.git 
git push --mirror dropbox 

Da die Inhalte von ~/Dropbox zwischen Computern automatisch synchronisiert, können Sie dann einfach ziehen/Push vom/zum Dropbox Repository auf beiden Rechnern, die IMHO ist viel einfacher als die Verwendung von E-Mail.

3

Sie könnten wahrscheinlich einen kleinen, tragbaren USB-Schlüssel verwenden, um ein Master-Repository für das Projekt zu halten. Dann können Sie es sowohl zu Hause als auch bei der Arbeit aktualisieren und synchronisieren. Dies ist meiner Meinung nach einfacher als der Versuch, per E-Mail zu verwalten.