Das Softwarekonfigurationsmanagement , zu dem auch die Versionskontrolle gehört, ist etwas komplexer als das Verfolgen von Änderungen an Dateien, obwohl Sie mit Sicherheit damit beginnen können. Lesen Sie jedoch die Wikipedia-Artikel, die oben zusammen mit Joel Spolkys Tutorial zu Mercurial verlinkt sind .
Wählen Sie zunächst eine der Optionen Mercurial, GIT oder Bazaar in dieser Reihenfolge aus und installieren Sie sie zusammen mit den Tools für Ihre IDE und Ihr Betriebssystem (ich bevorzuge Mercurial mit HGE für Eclipse).
- Initialisieren Sie ein Repository aus Ihrem Arbeitsverzeichnis ( hg init mit Mercurial).
- Entscheiden Sie, welche Dateien und Verzeichnisse Sie verfolgen möchten und welche nicht. Die allgemeine Regel lautet, keine Dateien zu verfolgen, die von Compilern und anderen Tools generiert wurden.
- Verwenden Sie den Befehl, um die Dateien und Verzeichnisse zum Repository hinzuzufügen ( hg add for Mercurial).
- Teilen Sie dem Tool die Muster für die Dateien mit, die Sie nicht verfolgen möchten (bearbeiten Sie .hgignore für Mercurial).
- Führen Sie ein Commit durch, um die Originalversionen zu verfolgen ( hg ci ).
- Führen Sie nach jedem logischen Meilenstein ein Commit durch, auch wenn es sich um einen kleinen handelt.
- Fügen Sie beim Erstellen neue Dateien hinzu.
- Wiederholen Sie die letzten beiden.
- Sichern Sie Ihr Arbeitsverzeichnis und das Repository so häufig wie möglich.
Mit Ihren Dateien im Repository können Sie die Unterschiede zwischen zwei Versionen einer Datei oder eines Verzeichnisses oder das gesamte Projekt ( hg diff ) kennen, den Änderungsverlauf ( hg hist ) anzeigen und Änderungen rückgängig machen ( hg up -r) ).
Es ist eine gute Idee, das Repository vor dem Veröffentlichen Ihres Codes mit einem Tag ( hg-Tag ) zu versehen, damit Sie auf einfache Weise genau zu dem zurückkehren können, was Sie für Änderungen oder Vergleiche veröffentlicht haben.
Wenn Sie mit einer anderen Entwicklungslinie experimentieren möchten, tun Sie dies in einem einfachen Zweig, indem Sie das Hauptrepository ( hg clone ) klonen und nicht zurückschieben, bis das Experiment abgeschlossen ist. Es ist so einfach wie ein anderes Arbeitsverzeichnis für das Experiment.
Wenn es sich bei dem Test um eine neue, aktualisierte Version handelt, klonen Sie und verzweigen Sie dann ( hg branch ), damit Sie alle Kopien der Repositorys auf dem neuesten Stand halten können, ohne dass ein Test den anderen beeinträchtigt.
Linus Torvalds (der sich in seinen Projekten mit Zehntausenden von Dateien und Millionen von Codezeilen befasst) sprach bei Google darüber, warum das Tool nicht CVS, SVN oder eines der vielen kostenlosen und kommerziellen Tools sein kann ; es ist sehr sehenswert.