Frage

Ich habe versucht, mit source-control für ein paar Projekte, aber noch nicht wirklich verstehen.Für diese Projekte haben wir verwendet TortoiseSVN und hatte nur eine Zeile von Revisionen.(Nicht Stamm -, Zweig-oder nicht.) Wenn es eine empfohlene Methode zum einrichten-source-control-Systeme, was sind Sie?Was sind die Gründe und Vorteile für Sie eingerichtet werden?Was ist die zugrunde liegende Unterschiede zwischen der Arbeitsweise eines zentralisierten und verteilten Versionskontrollsystem?

War es hilfreich?

Lösung

Ich empfehle, die folgenden von Eric Sink:

http://www.ericsink.com/scm/source_control.html

Mit irgendeiner Art von revision control system in Ort ist wahrscheinlich das wichtigste Werkzeug, das ein Programmierer für die überprüfung von code-änderungen und das Verständnis, wer wem was angetan.Auch für einzelne person Projekten, ist es von unschätzbarem Wert, um in der Lage sein zu diff aktuellen code gegen frühere bekannte funktionierende version zu verstehen, was möglicherweise schief gelaufen ist, aufgrund einer änderung.

Andere Tipps

Denken an der Wurzel wie ein riesiger "Rückgängig machen" - button, um Ihren source-code.Jedes mal, wenn Sie check-in, das Sie hinzufügen, einen Punkt, zu dem Sie ein Rollback durchführen können.Auch wenn Sie nicht verwenden Verzweigung/Zusammenführung, diese Funktion allein kann sehr wertvoll sein.

Zusätzlich, indem er einen maßgebenden version des source-control, wird es viel einfacher zu sichern.

Zentralisierte vs.verteilt...der Unterschied ist wirklich, dass in verteilten, gibt es nicht unbedingt einen maßgebenden Fassung der Quelle die Kontrolle, obwohl in der Praxis in der Regel Menschen haben immer noch das master-Struktur.

Der große Vorteil der verteilten Quellcodeverwaltung ist zwei-Fach:

  1. Wenn Sie verteilten Quellcodeverwaltung, Sie haben den gesamten Quellcode auf Ihrer lokalen Maschine.Sie Begehen können, erstellen Sie Zweige, und arbeiten ziemlich viel, als wenn Sie allein waren, und dann, wenn du bereit bist, Sie zu push-up Ihre änderungen, die Sie fördern können Sie von Ihrem Computer zum master-Kopie.Wenn Sie die "offline" eine Menge, das kann ein großer Vorteil.

  2. Sie nicht haben zu Fragen, jemanden die Erlaubnis, sich als Vertriebspartner des source-control.Wenn person A läuft das Projekt, aber person B und C ändern möchten, und teilen Sie die änderungen mit jedem andere, es wird viel einfacher, mit verteilten Quellcodeverwaltung.

Hier sind zwei Artikel, die sehr hilfreich für das Verständnis der Grundlagen.Jenseits des seins informativ, Spüle Firma verkauft eine große Quelle Kontrolle Produkt namens Vault ist kostenlos für einzelne Benutzer (ich bin nicht verbunden in irgendeiner Weise mit diesem Unternehmen).

http://www.ericsink.com/scm/source_control.html

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Vault info at www.vault.com.

Auch wenn Sie keine Niederlassung, Sie finden es vielleicht nützlich zu verwenden tags, um mark-releases.

Stell dir vor, du rollte eine neue version Ihrer software gestern und haben begonnen, größere änderungen für die nächste version.Ein Benutzer ruft Sie melden einen Fehler in der gestrigen Pressemitteilung.Sie können nicht nur fix es und kopieren Sie über die änderungen an Ihrer Entwicklung Stamm, da die änderungen, die Sie habe gerade das ganze instabil.

Wenn Sie hatte tagged die Veröffentlichung, könnten Sie Auschecken einer Arbeitskopie und es benutzen, um den Fehler zu beheben.

Dann, Sie können wählen, um erstellen Sie einen Zweig an den tag und lassen den bug-fix in es.So, Sie können fix mehrere bugs auf, dass die Befreiung, während Sie weiterhin aktualisieren den Kofferraum.Sie können auch mischen Sie die Updates in den Kofferraum, so dass Sie dann in der nächsten Version.

Der gemeinsame standard für die Einrichtung von Subversion ist, haben die drei Ordner unter dem Stammverzeichnis Ihres Repositorys:trunk, branches und tags.Die Stamm-Ordner enthält Ihre aktuelle "Haupt" Linie der Entwicklung.Für viele Geschäfte und Situationen, das ist alles, was Sie jemals verwenden...nur eine einzige Arbeit repository-code.

Die tags, Ordner dauert es ein Schritt weiter und ermöglicht es Ihnen, "checkpoint" den code an bestimmten Punkten in der Zeit.Zum Beispiel, wenn Sie lassen Sie eine neue erstellen oder manchmal sogar, wenn Sie einfach machen eine neue bauen, Sie "tag" eine Kopie in diesen Ordner.Dies ermöglicht Ihnen, genau zu wissen, was Ihr code sah aus wie an diesem Punkt in der Zeit.

Die Zweige Ordner enthält verschiedene Arten von ästen, die Sie benötigen könnten, in besonderen Situationen.Manchmal ist ein Zweig ist ein Ort der Arbeit auf der experimentellen Funktion oder Funktionen, die eine lange Zeit dauern, um sich stabile (daher Sie nicht möchten, dass Ihre Einführung in Ihre wichtigsten Linie gerade noch).Andere Zeiten, ein Zweig darstellen könnten, die "Produktion" - Kopie von Ihrem code, die können bearbeitet und bereitgestellt werden, unabhängig von Ihrem Haupt-code-Zeile, die enthält änderungen sollen für eine zukünftige Version.

Wie auch immer, dies ist nur ein Aspekt, wie Sie Ihr system einrichten, aber ich denke, geben einige gedacht, um diese Struktur ist wichtig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top