Versionskontrolle zur Koordination mit dir selbst

7

Für die Programmierung in meiner Freizeit habe ich sowohl einen Desktop als auch einen Laptop (beide Macs, obwohl ich bezweifle, dass das die Frage entscheidend beeinflusst). Ich habe VMware auf beiden, mit Linux-Images, auf denen mein Code läuft. Sie sind identische Bilder, also habe ich an beiden Orten die gleiche Umgebung.

Der Trick ist, dass ich die Versionskontrolle für ALLE meine Programmierung verwende, auch wenn ich mich nicht mit jemand anderem abstimme. Ich möchte die neueste Version meines Codes auf dem System sehen, das ich verwende.

Ich möchte nicht darauf angewiesen sein, jederzeit Zugang zum Netzwerk zu haben - ich kodiere vielleicht irgendwo ohne Wi-Fi (ja, es ist selten, aber einige Orte sind immer noch in der Steinzeit). Ich gucke mit Git, aber etwas wie SVN würde auch tun, wenn ich das Repository lokal verfügbar hätte. Oder vielleicht wird der Laptop zum SVN-Server und der Desktop greift darauf zu.

Hat jemand schon einmal so etwas gemacht? Fallen / Fallstricke / Lektionen gelernt?

    
edebill 02.02.2009, 16:52
quelle

8 Antworten

8

Nun, ich würde definitiv empfehlen, ein verteiltes System anstelle von Subversion zu betrachten. Das erfüllt Ihre Anforderung, nicht vom Netzwerkzugriff abhängig zu sein, und passt wahrscheinlich besser zu Ihrem Workflow. Die Hauptauswahlmöglichkeiten für ein verteiltes VCS sind git , Mercurial (auch als" hg "bezeichnet) und Bazaar (oder" bzr "). Meine persönliche Präferenz ist Mercurial, aber sie sind alle ziemlich vergleichbar.

Aber eine Sache, die Mercurial über die anderen hat (und es wäre etwas, das in Ihrer Situation sehr hilfreich wäre), ist der Befehl "hg serve". Sie können darüber lesen: Informelle Freigabe mit "hg serve" . Im Grunde erstellt es einen sehr einfachen (temporären) Server, um das Repository über das Netzwerk zu ziehen. Ich benutze dies die ganze Zeit, um Code zwischen meinem Desktop und Laptop synchronisiert zu halten. Wenn ich einige Änderungen am Laptop vorgenommen habe, starte ich einfach "hg serve" dort und dann "hg pull" vom Desktop, oder umgekehrt, wenn ich auf dem Desktop gearbeitet habe.

Insgesamt würde ich definitiv vorschlagen, in die verteilten Systeme zu schauen, ich denke, dass sie die bestmögliche Umgebung schaffen werden. Es gibt eine Menge Informationen im Internet über die Verwendung von allen. Ich habe nicht viel Zeit mit den anderen verbracht, aber wenn du Mercurial ausprobieren willst, deckt dieses kostenlose Online-Buch so ziemlich alles ab, was du brauchst um loszulegen .

    
Chad Birch 02.02.2009, 17:19
quelle
7

Ich würde git wärmstens empfehlen, wenn Sie nicht ständig Zugang zum Netzwerk haben.

Wenn Sie jedoch weiterhin mit Subversion-Repositorys arbeiten müssen, können Sie dennoch das Beste aus beiden Welten erreichen, indem Sie git-svn .

    
ern 02.02.2009 16:55
quelle
2

Was auch immer Sie tun, stellen Sie sicher, dass Ihr Repository regelmäßig gesichert wird. Dies gilt insbesondere, wenn Ihr Laptop Ihr ​​Repository enthält. Sie sollten auch darüber nachdenken, was passiert, wenn Ihr Laptop gestohlen wird. Es könnte besser sein, git zu verwenden und das Repository auf dem Desktop zu belassen.

    
tvanfosson 02.02.2009 16:55
quelle
1

Als Alternative zu Git, das bereits erwähnt wurde, würde ich Bazaar wärmstens empfehlen. Es ist ein verteiltes VCS wie git ist, mit einigen Unterschieden.

Für einen (etwas voreingenommenen) Vergleich sehen Sie sich diese Seite an.

    
Simon B. Jensen 02.02.2009 17:02
quelle
1

Wenn Sie nach Einfachheit (Setup) sind, ist SVN in Ordnung. Es funktioniert ohne Netzwerkverbindung, da Ihr gesamter Verlauf auf jedem synchronisierten PC gespeichert wird und SVN + SSH TRIVIAL eingerichtet ist. Es nutzt die eingebaute Fähigkeit von SSH, ein Programm auszuführen, wenn Sie also einen SSH-Server eingerichtet haben, erstellen Sie einfach ein Repository, und alles funktioniert. Kein Server-Setup.

Dies kann auch als Sicherung dienen, da Sie Ihr gesamtes Repository auf jedem Computer haben, mit dem Sie synchronisieren.

Verteilte Versionskontrollsysteme sind ebenfalls interessant, aber ich denke, die Vorabinvestition ist höher, aber es hat den Vorteil, dass Sie in Ihrem Repository speichern können, ohne verbunden zu sein (nicht zu kritisch, wenn Sie alleine arbeiten, aber in der Lage sind zu überprüfen und Rollback überall kann seine Vorteile haben).

    
Bill K 02.02.2009 17:29
quelle
0

SVN wird ziemlich unhandlich, wenn Sie keinen Zugriff auf das Repository haben. Da ich meine ganze Entwicklung auf einem Computer mache, bin ich mit SVN gut zurechtgekommen, aber Sie werden es vielleicht nicht so einfach finden. Nach allem, was ich gehört habe, ist das genau die Art von Problem, mit der git umgehen soll - Sie können Commits machen, die in Ihrer lokalen Kopie registriert sind, und sie dann alle ins Repository hochladen, wenn Sie darauf zugreifen können. p>     

David Z 02.02.2009 16:57
quelle
0

Sie könnten erwägen, einen SVN-Host zu bekommen - sie sind ziemlich erschwinglich und nehmen die Kopfschmerzen weg von der eigenen Netzwerkkonnektivität:

Ссылка

    
Chance 02.02.2009 17:00
quelle
0

Mein Lieblings-VCS ist darcs , da es das Patch-Cherry-Picking unterstützt. Es ist ein verteiltes VCS und es ist sehr einfach zu bedienen.

    
Johannes Weiß 02.02.2009 17:34
quelle

Tags und Links