it-swarm.dev

Versionskontrolle für unabhängige Entwickler?

Denken Sie, dass es sich lohnt, die Versionskontrolle zu verwenden, wenn Sie ein unabhängiger Entwickler sind, und wenn ja, warum? Bewahren Sie das Repository auf Ihrem eigenen Computer oder an einem anderen Ort auf, wo es als Backup dienen kann?

60
vedosity

Wenn Sie die dezentrale Quellcodeverwaltung verwenden (Mercurial oder Git oder Bazaar oder was auch immer), erhalten Sie Vorteile gegenüber SVN/CVS, die die Verwendung einfach, nützlich und leistungsstark machen, wenn Sie ein Indy sind:

  1. Sie verpflichten sich lokal: Ihr Projektverzeichnis ist Ihr Repo mit dem vollständigen Verlauf. Sie müssen also keinen Server haben, Sie verpflichten sich direkt in Ihrem Repo und Sie können mehrere Repos auf demselben Computer haben. Verwenden Sie einen Laptop, den Sie manchmal öffnen, um weiter an Ihren Sachen zu arbeiten? Großartig! Sie müssen keinen Server einrichten und wenn Sie später einen benötigen, ist dies einfach und Sie müssen nur die Änderungen zwischen den Repositorys "pushen" und "ziehen".
  2. Es soll das Experimentieren erleichtern: Oft müssen Sie eine Vorstellung von einer Funktion haben, ohne den Code zu verschmutzen. Mit SVN und CVS können Sie bereits ein Verzweigungssystem verwenden und die Verzweigung beenden, wenn die Funktion nicht so gut ist, wie Sie es wollten. Wenn Sie die Funktion jedoch mit der Trunk-Version zusammenführen möchten, können Sie viele Überraschungen nur schwer beheben. Git, Mercurial und Bazaar (zumindest) machen das Zusammenführen und Verzweigen wirklich einfach. Sie können sogar einfach ein Repo duplizieren, einige Zeit daran arbeiten, es dennoch festschreiben und beenden oder Ihre Änderungen im Haupt-Repo verschieben, wenn Sie möchten.
  3. Flexibilität der Organisation: Wie bereits erwähnt, ist es einfach, allein zu beginnen und anderen Personen die Möglichkeit zu geben, mit Ihnen zusammenzuarbeiten, indem Sie Ihre Organisation ändern, da Sie Repos haben, die Sie nach Bedarf organisieren. Es wird keine Organisation auferlegt, Sie müssen sie nur einrichten und voilà. Ich drücke/ziehe oft nur Änderungen zwischen meinen eigenen Computern (Laptop/Desktop/Server) und bin immer noch allein mit meinen Entwicklern. Ich verwende Mercurial und das hilft mir, meine Arbeit zu duplizieren, aber auch an Funktionen zu arbeiten, über die ich außerhalb meines Laptops nachgedacht habe, dann weiter an anderen Funktionen auf meinem Desktop zu arbeiten, dann die Änderungen meines Laptops auf meinem Desktop oder Server zu übertragen und den gesamten Desktop + zusammenzuführen Laptop und legen Sie es (als Backup und zukünftiges Teamwork Repo) auf meinen Server.
  4. Es hilft beim Einrichten von Backups: Wenn Sie ein zentrales Repo einrichten (auf GitHub, wenn es öffentlich ist, oder in einem privaten Repo auf BitBucket), können Sie einfach ein Skript schreiben, das bei jedem Start eines Computers ausgeführt wird und geben Sie das Skript dann an Ihre Freunde weiter, damit Ihre Arbeit regelmäßig automatisch gesichert wird. Ich bin mir sicher, dass es nicht einfach sein wird, meine Arbeit zu verlieren.

Tatsächlich haben Sie derzeit keine Entschuldigung dafür, kein Steuerquellen-Tool für ein Projekt zu verwenden. Weil sie leistungsfähiger und flexibler als zuvor sind und sich Ihren Anforderungen anpassen.

61
Klaim

die Quellcodeverwaltung ist für unabhängige Entwickler völlig nutzlos, da bekanntlich:

  • unabhängige Entwickler machen niemals Fehler
  • unabhängige Entwickler nehmen niemals Revisionen vor, die nicht funktionieren
  • unabhängige Entwickler haben nie mehr als eine Version, sodass sie keine Verwendung für Zweige haben
  • unabhängige Entwickler kümmern sich nie darum, was sie gestern oder letzte Woche geändert haben
  • unabhängige Entwickler benötigen niemals Backups

Nennen Sie mich einen "abhängigen Entwickler": Mercurial-Repositorys können problemlos zwischen meinem Desktop, meinen Laptops, USB-Sicherungslaufwerken und bitbucket.org geklont werden. Ich bin abhängig geworden und es gefällt mir so!

34
Steven A. Lowe

Warum nicht?

Ich bin ein Solo-Entwickler und benutze BitBucket und Mercurial für meine persönlichen Projekte. Die Fähigkeit, Ihren Code zurückzusetzen und zu teilen, ist einfach zu gut, um darauf zu verzichten.

21
Terence Ponce

Ich persönlich finde Wert darin. Meine Projekte werden alle in Git-Repositorys eingecheckt (die ich im Falle eines Hardwarefehlers auf mehreren Computern aufbewahre). Die nützlichsten Funktionen sind Verzweigung (damit ich ein Experiment ausführen kann, das die Hälfte meiner Codebasis durcheinander bringt, und ich muss mir keine Sorgen machen, dass irgendetwas dauerhaft in die Luft gesprengt wird) und Zurücksetzen (was bei Steroiden im Grunde nur rückgängig gemacht wird; falls ich finde, dass ich welche gemacht habe Fehler, der außerhalb des regulären Rückgängig-Bereichs liegt).

1
Inaimathi

Ja. Es ist sehr sehr nützlich. Mein Freund Matt Gallagher hat diesen ausgezeichneten Artikel zu diesem Thema vor wenigen Tagen in seinem iOS/MacOS-Entwicklungsblog "Cocoa With Love" gepostet.

Der Artikel ist Mac & Git-zentriert, behandelt jedoch die Grundlagen.

Möglicherweise interessieren Sie sich auch für die folgenden StackExchange-Fragen (und deren Antworten).

1
orj

Wert ?? Muss! Wenn Sie keine Quellcodeverwaltung verwenden, kontrollieren Sie Ihre Quellen nicht, und das ist schlecht. Sie können nicht unterscheiden, Sie können nicht zurücksetzen, Sie können Änderungen nicht verfolgen - Sie werden Stunden damit verbringen, den Dummy-Fehler herauszufinden, den Sie gerade eingegeben haben. Es ist besser, es auf einem gesicherten Server zu haben, aber Sie können auch Ihren Computer verwenden und eine beliebige Sicherungsmethode verwenden, die Sie für angemessen halten.

1
Assimiz

Verwenden Sie unbedingt die Quellcodeverwaltung. Richten Sie dann einen Build-Server ein und automatisieren Sie Ihre Build- und Testprozesse. Trigger-Builds basieren auf Ihren Quell-Commits Ihres zentralen Repos. Ich arbeite seit drei Jahren alleine auf diese Weise und es ist wunderbar.

1
Dave Neeley

Ja.

Sogar einzelne Entwickler müssen manchmal den Status ihres Codes aus einer früheren Revision sehen. Und es ist immer eine gute Idee, alles Wichtige zu sichern, und das gilt für alle Menschen.

0
whatsisname