Ich entwickle persönliche Projekte auf zwei Computern ohne Verwendung eines gemeinsam genutzten Servers oder einer Netzwerkverbindung zwischen beiden.
Unterstützen gängige Versionskontrollsysteme die Verwendung von tragbarem Speicher (z. B. einem USB-Flash-Gerät) als gemeinsam genutztes Repository zuverlässig?
version-control
billpg
quelle
quelle
Antworten:
Verwenden Sie ein DVCS wie Git oder Mercurial .
Verteilte Versionskontrollsysteme verfügen nicht über einen gemeinsam genutzten zentralen Server.
Bei einem DVCS enthält jede Kopie eines Repositorys den vollständigen Verlauf - alles. Dies bedeutet, dass bei Verwendung auf einem USB-Stick alle Änderungen, die Sie am Repository auf dem USB-Stick vornehmen, beim Verschieben zwischen Computern diesen Verlauf speichern.
quelle
Abgesehen von GIT, Mercurial usw., die oben vorgeschlagen wurden, sollten Sie sich auch Fossil ansehen. Es hat den Vorteil, dass die Laufzeit-Binärdateien klein (ca. 1 MB für Windows und Linux), portabel und ohne Installation sind. Daher kann es im Gegensatz zu den anderen (soweit mir bekannt ist) auf das Speichergerät gestellt und auf jedem Computer ausgeführt werden, an den der Speicher angeschlossen ist, ohne dass zuvor die App auf dem Computer installiert werden muss. Es enthält ein Wiki und ein Änderungs- / Fehlerverfolgungssystem mit dem Repo. Es hat auch eine GUI eingebaut.
Ich habe es nicht ernsthaft benutzt (ich benutze meistens GIT), war aber beeindruckt von seinem leichten Ansatz und der Aufnahme eines Wikis und eines Defekt-Trackers macht es ideal für kleine Projekte. Meine einzige Sorge war, dass einige der leistungsstärkeren Funktionen von GIT möglicherweise nicht möglich sind, und im Gegensatz zu GIT ist die Benutzergemeinschaft nicht so groß, dass es einfach ist, Antworten auf Fragen zu finden.
quelle
Die Verwendung eines DCVS ist wahrscheinlich eine gute Idee, aber nicht die einzige Option.
Ich habe ein kleines CVS-Repository auf einem USB-Stick. Wenn ich darauf zugreifen möchte, muss ich nur den Pfad des Stammverzeichnisses des Repositorys verwenden
cvs -d <path>
oder festlegen$CVSROOT
(für den natürlich das USB-Stick auf dem System bereitgestellt werden muss).Wenn Sie bereits an die Verwendung von CVS gewöhnt sind, sollte dies praktikabel sein. Gleiches sollte für SVN gelten. Dies bedeutet lediglich, dass sich Ihr zentrales Repository auf dem USB-Stick befindet und nicht immer sichtbar ist.
Es gibt Argumente für die Verwendung eines DCVS anstelle von CVS im Allgemeinen. Ich glaube nicht, dass diese Argumente besonders davon betroffen sind, ob sich das zentrale Repository auf einem USB-Stick oder an einem anderen Ort befindet. Sie können beispielsweise genauso einfach ein Git-Repository auf dem USB-Stick erstellen.
quelle
Als Ergänzung zu den anderen Antworten:
Während ein DVCS sehr gut zu diesem Problem passt, können Sie Subversion technisch auch verwenden, wenn Sie sich damit wohler fühlen. Subversion kann ein lokales Verzeichnis anstelle eines zentralen Servers verwenden. Sie können das einfach auf einen USB-Stick legen und verwenden.
Der Nachteil im Vergleich zu einem DVCS besteht darin, dass Sie nur mit Subversion (dh Festschreiben, Anzeigen von Protokollen usw.) arbeiten können, während das USB-Stick angeschlossen ist. Außerdem muss es immer dasselbe USB-Stick sein (oder zumindest ein Up-Laufwerk) -to-date copy), da Sie mit Subversion nicht mehr als ein Repository verwenden sollten (das ist der nicht verteilte Teil). Wenn Sie also jemals Ihren USB-Stick vergessen haben, können Sie ihn im Gegensatz zu Git oder Mercurial nicht verwenden.
Hinweis:
Wie oben und in den Kommentaren erläutert, passt ein DVCS wirklich besser zu Ihrem Problem. Ich habe Subversion nur der Vollständigkeit halber erwähnt, und falls Sie einen besonderen Grund haben, Subversion zu verwenden.
quelle
svn
(oder tatsächlich Lebensläufe) für die Verwendung dieser Lösung sprechen könnte, aber im Interesse einer vollständigen Offenlegung sollten auch die Nachteile dieses Ansatzes erwähnt werden. Fühlen Sie sich frei, die Punkte aus meinem Kommentar in Ihre Antwort zu bearbeiten. Wenn Sie dies tun, würde ich gerne meine Kommentare bereinigen (löschen). * 8 ')