Wie richte ich ein Quellcode-Kontrollsystem für mich ein?

23

Ich programmiere auf meinem Desktop in meinem Büro, aber manchmal auch zu Hause in einem anderen Raum auf meinem Laptop und sogar unterwegs. Was ich brauche, ist ein System, das meine Arbeit bei Bedarf automatisch oder nach Bedarf von einem zum anderen synchronisiert.

Ich habe kein Heimnetzwerk-Setup, und obwohl ich vermute, dass ich es könnte, wäre das vielleicht eine Frage für ein anderes Board. Ich habe über ein System nachgedacht, das den Quellcode in der Cloud hält, aber ich weiß nicht genug darüber, um loszulegen. Ich brauche eine Art kostenlosen oder billigen Weg, um dies zu tun.

Ich arbeite in .NET (Windows Phone 7).

Cyberherbalist
quelle
1
Benutze dropbox, installiere es einfach auf beiden Rechnern und fertig. Es ist kostenlos (bis zu 2 GB). Für Ihre Situation ist die Quellcodeverwaltung übertrieben (IMHO).
Darknight
26
Quellcodeverwaltung ist nie übertrieben (IMHO)!
Mongus Pong
4
Die Installation und Inbetriebnahme von Git dauert <15 Minuten (abhängig von der Download-Bandbreite).
Mongus Pong
2
Die Installation und Inbetriebnahme von Dropbox dauert <3 Minuten (abhängig von der Download-Bandbreite).
Darknight
4
DropBox ist ein schrecklicher Vorschlag! Es ist kein richtiges Versionskontrollsystem, es dient zum Teilen von Daten. Es habe eine sehr unangenehme Gewohnheit, Hochladen und Herunterladen von Änderungen jedes Mal wenn Sie speichern eine Datei und die Synchronisierung für alle anderen Clients in Echtzeit, es versinkt in deine Maschine vor allem alle diese un-neccesary Netzwerkverkehr zu tun nach unten , wenn Sie etwas verwenden , die Artefakte baut im selben Verzeichnis wie in DropBox. Lerne und benutze Git oder ein gleichwertiges DVCS.

Antworten:

39

Am einfachsten ist es, eines der Online-Systeme zu nutzen. Kasse GitHub oder BitBucket . Weitere Informationen zu Git oder Mercurial finden Sie unter Git Reference bzw. Hg Init .

Peter Rowell
quelle
Möglicherweise, wenn alle Maschinen über eine Internetverbindung verfügen, es jedoch andere Anwendungsfälle gibt. Ich behalte zum Beispiel einige Subversion-Repositorys auf einem USB-Flash-Stick und einige größere (nicht Quellcode - Fotos und andere Dinge) auf einer externen Festplatte. Wenn ich mit der Umstellung zufrieden bin, habe ich wahrscheinlich auch Mercurial-Repositorys auf USB-Sticks. Ein Grund: Ich benutze Windows XP immer noch für viele Dinge, aber ich werde es heutzutage unter keinen Umständen (Laptop oder Desktop) im Internet zulassen.
Steve314
21
Das Schöne an verteilten Versionskontrollsystemen wie Git und Mercurial ist, dass Sie mit Ihrem Repo lokal arbeiten und dann mit einem zentralen Server synchronisieren können, wenn Sie zufällig eine Netzverbindung zur Hand haben. Klingt nach der idealen Lösung für das OP.
Michelle Tilley
@Brandon - funktioniert auch für ein Haupt-Repo auf einem externen Laufwerk, wenn es die ganze Zeit angeschlossen ist.
Steve314
2
Denken Sie daran, dass BitBucket (im Gegensatz zu GitHub) kostenlose private Repositorys hat, was es wahrscheinlich zu einer besseren Option für das OP macht.
Kevin Yap
Der Grund, warum ich nicht vorschlug, es lokal zu betreiben, war, dass er sich damit nicht wohlfühlen würde, und er sagte, er brauche Fernzugriff darauf. Es ist jedoch offensichtlich der beste / sicherste Weg, lokal zu arbeiten und auf ein Cloud-Repository zu pushen.
Peter Rowell
7

Sie können DVCS wie Git oder Mercurial verwenden, um ein lokales Repository zu erstellen, dann Dropbox installieren und Ihren Projektordner (einschließlich des Repository-Ordners natürlich) in den Dropbox-Ordner legen.

Dropbox übernimmt die Synchronisierung und kann Offline-Situationen verarbeiten, solange Sie zwischen den Synchronisierungen nur an einer Stelle Änderungen vornehmen.

BTW Dropbox stellt Ihre Dateien standardmäßig nicht öffentlich zur Verfügung, Sie können sie aber dennoch zur Verfügung stellen, wenn Sie möchten.

BEARBEITEN

In Bezug auf die Repository-Integrität können Sie ein Master-Repository außerhalb des Dropbox-Ordners auf Ihrem Haupt-PC erstellen und per Push an Dropbox senden, falls die Synchronisierung einer oder zweier Dateien fehlschlägt. Wenn also das lokale Repo im Dropbox-Ordner beschädigt wird, stellen Sie es einfach vom Haupt-PC wieder her. Ich habe jedoch keine Repository-Beschädigung festgestellt.

Endy Tjahjono
quelle
Im Wesentlichen was ich tue. Mercurial-Repositorys auf meinem Desktop und Laptop, Haupt-Repository in Dropbox, auf das ich pushe und von dem ich sie abrufe.
David Thornley
@ David Ich mache es in umgekehrter Reihenfolge, Haupt-Repo im PC, Arbeits-Repo in Dropbox, einschließlich Quellcode-Dateien, an denen ich arbeite.
Endy Tjahjono
@Endy Tjahjono: Es klingt nach Ihrem Kommentar, als würden Sie Ihre Arbeit auf einem Computer erledigen. Ich benutze manchmal meinen Desktop und manchmal meinen Laptop, so dass es nicht wirklich funktioniert, mein Hauptrepository auf einem von ihnen zu haben.
David Thornley
@ David mein Fehler, ich hätte sagen sollen "Backup" Repo in meinem Haupt-PC. Mein Hauptrepo ist das Arbeitsrepo im Dropbox-Ordner. Ich schiebe nur gelegentlich zum Backup-Zweck auf das Backup-Repo.
Endy Tjahjono
6

Hier finden Sie eine kurze Anleitung zum Einrichten eines verteilten VCS. Der Vorteil von git oder mercurial ist, dass Sie keinen Server einrichten müssen, damit alles funktioniert, da das Repository nur ein Dateisystem ist. Sie haben das lokale Repository auf Ihrem Computer neben Ihrem Code (in git befindet sich ein .gitOrdner und in mercurial befindet sich ein .hgOrdner im Projektpfad).

Git verwenden

Schritt 1: Laden Sie git herunter und installieren Sie es. Für Windows möchten Sie möglicherweise TortoiseGit verwenden . Einige Setup-Hinweise finden Sie hier .

Schritt 2: Folgen Sie das git Community Buch lokale Repository zu initialisieren für Ihr Projekt und verpflichten zum Repository.

Schritt 3: Um Dinge auf die "Wolke" zu setzen, die Github ist, können Sie diesem Tutorial folgen .

Mercurial verwenden

Schritt 1: Laden Sie mercurial herunter und installieren Sie es. Für Windows möchten Sie möglicherweise TortoiseHg verwenden .

Schritt 2: Befolgen Sie die Kurzanleitung , um ein Repository für Ihr Projekt zu erstellen und ein Commit für das Repository durchzuführen.

Schritt 3 Um Dinge auf die "Wolke" zu setzen, die Bitbucket ist, können Sie diesem Tutorial folgen .

Wenn Sie an .NET arbeiten, möchten Sie möglicherweise Mercurial verwenden, da Windows zum Zeitpunkt des Schreibens (in gewisser Weise) besser unterstützt wird.

Spoike
quelle
2

Wie bereits @ peter-rowell und andere zu Recht gesagt haben, ist der einfachste Weg, einen der DVCS wie Git und die entsprechenden Online-Systeme wie Github oder Unfuddle zu verwenden. Ich persönlich benutze Git und Unfuddle.

Da Sie bereits erwähnt haben, dass das Herstellen einer Internetverbindung zu Hause auch für Sie kein Problem ist, gibt es diese neue Online-IDE, die im Browser ausgeführt wird und in der Cloud ausgeführt wird. Ich wusste vorher nicht, dass so etwas verfügbar ist, aber das sieht sehr interessant und cool aus. Ich habe es zwar nicht viel benutzt, aber es ist cool.

Syed Aslam
quelle
Unfuddle ist ein toller Service. Im Grunde ist es nur eine Kopie von Redmine mit ein paar netten Verbesserungen.
Keyo
2

Fast jedes DVCS würde helfen.

Am beliebtesten sind Git, Mercurial und einige andere. aber ich mag Fossil wirklich . Es ist eine einzelne (kleine!) Ausführbare Datei, leicht tragbar, eigenständig, plattformübergreifend und enthält ein Wiki, eine webbasierte Benutzeroberfläche, ein Ticketsystem, einen Dokumentations-Handler usw.

Javier
quelle
1
Bitbucket ist ein Service, der Mercurial Hosting anbietet.
Tamás Szelei
Vielen Dank. Ich wusste, dass; aber die namen verwickeln sich in meinen gedanken
Javier
1

Die Option, die ich vorschlagen würde, wäre Brennofen . Es wird von denselben Leuten hergestellt, die auch FogBugz und Stack Exchange herstellen. Es sollte also ziemlich gut sein, außerdem ist es für bis zu 3 Benutzer, glaube ich, kostenlos. Die Skalierung ist genau wie bei FogBugz und die beiden können integriert werden, sodass Sie auch die Fehler und Funktionen im Auge behalten können.

Genau wie Joel in einem seiner Blog-Beiträge gesagt hatte, sind Fehlerverfolgung und Quellcodeverwaltung immer ein Plus, selbst für einen einzelnen Entwickler.

Verlorene Maestro
quelle
Nun, es war vielleicht für 3 Benutzer kostenlos, aber jetzt sind es 25 US-Dollar pro Benutzer und Monat. Trotzdem scheint es ein cooles Produkt zu sein.
Cyberherbalist
1

Wenn die Vertraulichkeit Ihres Codes nicht ausschlaggebend ist, ist Google Code möglicherweise eine praktikable Lösung. Es kümmert sich um den Hosting-Teil und ist kostenlos und ziemlich einfach einzurichten. Es unterstützt Subversion, Mercurial und Git, die alle Windows-Clients haben. Es lässt sich auch in Google IDs integrieren, sodass Sie problemlos Mitwirkende zum Projekt hinzufügen können. Dort hoste ich meine Hobbyprojekte mit Mercurial. Ich habe den TortoiseHg-Client sowohl auf meinem Heim- als auch auf meinem Arbeitscomputer installiert, damit ich in den Pausen an meinen Projekten arbeiten kann.

System aus
quelle
Nett! Vielen Dank, dass Sie dies erwähnt haben. Ich hatte noch nie von Google Code gehört.
Cyberherbalist
0

Es hängt davon ab, wie viel Sie über das Einrichten eines Servers wissen und wie viel Zeit Sie investieren möchten.

Persönlich habe ich einen kleinen virtuellen Server von einem Hoster gemietet und einen Apache Webserver installiert und ein Subversion-Repository integriert (das ich jetzt in Git konvertiere). Das Setup ist wirklich nicht so umfangreich und wenn es erst einmal läuft, müssen Sie sich keine Sorgen mehr machen. Dieses Setup hat den Vorteil, dass Sie nicht nur ein Versionskontroll-Repository einrichten können, sondern auch andere Dinge, auf die Sie von jedem Ort aus zugreifen möchten (ich habe beispielsweise ein WIKI und einen Issue-Tracker installiert).

Wenn Ihnen das zu viel kostet, können Sie immer die bereits vorgeschlagenen Online-Systeme wie GitHub verwenden.

perdian
quelle
0

Am einfachsten ist es wahrscheinlich, mit Git-Anbieter zu gehen, github hat die Möglichkeit, für ein Privatkonto zu bezahlen.

Aber vergessen Sie nicht, dass svn einfach und benutzerfreundlich ist. Sie könnten einen SVN-Server an einem Ort installieren, an dem Sie ihn erreichen können, wahrscheinlich bei der Arbeit. (Und ein Projekt wie der Visual Svn-Server macht dies unter Windows wirklich einfach.) Als Client können Sie entweder ein Visual Studio-Plugin oder tortoisesvn verwenden.

Das einzige, woran Sie denken müssen, ist, dass Sie ein Commit durchführen und aktualisieren müssen, wenn Sie den Computer wechseln.

Johan
quelle
Ich denke nicht, dass SVN hier die richtige Antwort ist. Ich fand es einfacher, Mercurial einzurichten als SVN, und es ist ein besseres System als SVN. SVN ist ohne eine direkte Verbindung zum zentralen Repository nutzlos, und das OP verfügt über zwei Computer, die anscheinend keine direkte Verbindung haben.
David Thornley
Ich bin nicht sicher, svn ist einfacher als die verteilten Alternativen. Aber da er nicht immer auf den Server zugreifen kann, muss man diszipliniert sein, wenn man verzweigen möchte. Aber eine Ein-Mann-Show macht das sowieso selten. Wenn Sie den Computer wechseln, müssen Sie einen Commit durchführen. Ich stimme daher zu, dass dieser nicht optimal ist. Aber es ist eine Alternative. Ich habe tatsächlich so gearbeitet, bevor ich anfing, Git zu benutzen. (Aber mit git ist es einfacher, falsch zu liegen).
Johan
Ich gehe davon aus, dass er den Laptop zur Arbeit mitnimmt, da dies sonst keine einfache Einrichtung ist und David Recht hat.
Johan
Die Zeit, die zum Einrichten eines Git oder Hg-Repos ( git init) benötigt wird, beträgt einige Sekunden. Mit Subversion brauchen Sie zuerst einen Server, der viel schwieriger ist, als nur git/hg initin Ihrem Verzeichnis zu laufen . Ich bin ungeduldig und faul und Git ermutigt mich, SCM zu verwenden, weil es so schnell und schmerzlos ist (Zusammenführen, Initialisieren, Festschreiben).
Keyo
0

Ich benutze Bohnenstange . Als persönlicher SVN-Server hat es mir sehr gut gefallen. Sie haben auch Git Hosting, aber ich habe es nicht ausprobiert. Sie haben zunächst ein kostenloses Konto, und dann können Sie bei Bedarf auf ein bezahltes Konto wechseln.

RationalGeek
quelle
-2

Dropbox

Alle anderen Lösungen sind für Ihre Bedürfnisse überbordend:

Installieren Sie einfach Dropbox auf beiden Computern.

Eine vollständige Quellcodeverwaltung ist nett, aber in Ihrer Situation wird sie meiner Meinung nach nicht benötigt .

Dies ist der einfachste und einfachste Weg -> Sie haben nur automatisch synchronisierte Ordner auf so vielen Computern, wie Sie möchten.

Dunkle Nacht
quelle
1
Sie können Git zusammen mit Dropbox verwenden. Siehe stackoverflow.com/questions/1960799/…
Mongus Pong
4
Die Verwendung der Quellcodeverwaltung ist nicht übertrieben, insbesondere wenn Git und HG so einfach einzurichten sind. Ich denke nicht, dass es wichtig ist, dass er ein einziger Entwickler ist. Wenn er Produktionscode schreibt, muss er die Quellcodeverwaltung durchführen.
Richeym
Ja, wahrscheinlich richtig. Ich denke nur, dass es für einen einzelnen Entwickler einfach unnötig und OTT ist, aber das ist meine Ansicht.
Darknight
git init, git add ., git commit -m "bla"Ist über alle müssen Sie wissen , einige Code zu begehen. Nicht schwer und Sie haben die Gewissheit, dass Sie es zurücksetzen können. Natürlich sind die Vorteile groß in einem Team wichtiger, aber es ist wichtig, dass ich in der Lage bin, auf den Zeitpunkt zurückzusetzen. In der Lage zu sein, mich zu verzweigen und zu verstecken, macht mich auch produktiver.
Keyo
Ich höre, was Sie sagen, in Dropbox seiner Echtzeitsynchronisation hat es grundlegende Rollback. Ja, es ist nichts im Vergleich zu einer vollständigen Quellcodeverwaltung, aber dann ist es so ziemlich "fire & forget"
Darknight