Ich bin der Meinung, dass die Antwort auf Ihre Frage ein klares Ja ist. Die Vorteile der Verwaltung Ihrer Dateien mit einem Versionskontrollsystem überwiegen bei weitem die Kosten für die Implementierung eines solchen Systems.
Ich werde versuchen, auf einige der von Ihnen angesprochenen Punkte im Detail zu antworten:
- Backup: Ich habe bereits ein Backup-System eingerichtet.
Ja, und ich auch. Es sind jedoch einige Fragen zu berücksichtigen, ob es angemessen ist, sich auf ein Allzweck-Backup-System zu verlassen, um wichtige und aktive Dateien in Bezug auf Ihre Arbeit angemessen zu verfolgen. Auf der Leistungsseite:
- In welchem Intervall macht Ihr Backup-System Schnappschüsse?
- Wie lange dauert es, einen Schnappschuss zu erstellen?
- Muss es Ihre gesamte Festplatte abbilden, wenn Sie einen Schnappschuss machen, oder kann es leicht angewiesen werden, nur zwei Dateien zu sichern, die gerade kritische Updates erhalten haben?
- Kann Ihr Backup-System Ihnen genau zeigen, was sich in Ihren Textdateien von einem Backup zum nächsten geändert hat?
Und am wichtigsten:
- An wie vielen Orten werden die Backups gespeichert? Befinden sie sich am selben physischen Standort wie Ihr Computer?
- Wie einfach ist es, eine bestimmte Version einer einzelnen Datei von Ihrem Backup-System wiederherzustellen?
Besitzen Sie beispielsweise einen Mac und verwenden Sie Time Machine, um auf einer anderen Festplatte in meinem Computer zu sichern. Time Machine eignet sich hervorragend zum Wiederherstellen der ungeraden Datei oder zum Wiederherstellen meines Systems, wenn Probleme auftreten. Es hat jedoch einfach nicht das Zeug, meiner wichtigen Arbeit zu vertrauen:
Beim Sichern muss Time Machine die gesamte Festplatte abbilden, was sehr viel Zeit in Anspruch nimmt. Wenn ich weiter arbeite, gibt es keine Garantie dafür, dass meine Datei in dem Zustand erfasst wird, in dem ich die Sicherung initiiert habe. Möglicherweise erreiche ich auch einen anderen Punkt, den ich speichern möchte, bevor die erste Sicherung abgeschlossen ist.
Die Festplatte, auf der meine Time Machine-Backups gespeichert sind, befindet sich auf meinem Computer. Dadurch sind meine Daten anfällig für Diebstahl, Feuer und andere Katastrophen.
Mit einem Versionskontrollsystem wie Git kann ich ohne weiteren Aufwand eine Sicherung bestimmter Dateien initiieren, ohne dass ein Speichern in einem Texteditor angefordert werden muss. Die Datei wird sofort abgebildet und gespeichert. Außerdem ist Git so verteilt, dass jeder Computer, auf dem ich arbeite, eine vollständige Kopie des Repositorys hat.
Dies bedeutet, dass meine Arbeit auf vier verschiedenen Computern gespiegelt wird - nichts weniger als ein Akt Gottes könnte meine Dateien und Daten zerstören. An diesem Punkt würde es mich wahrscheinlich sowieso nicht sonderlich interessieren.
- Gabeln und Zurückspulen: Ich hatte nie das Bedürfnis, dies zu tun, aber ich kann sehen, wie nützlich es sein könnte (z. B. bereiten Sie mehrere Zeitschriftenartikel auf der Grundlage desselben Datensatzes vor; Sie erstellen einen Bericht, der monatlich aktualisiert wird usw. )
Als Solist gable ich auch nicht so viel. Die Zeit, die ich durch das Zurückspulen gespart habe, hat meine Investition in das Erlernen eines Versionskontrollsystems jedoch viele Male im Alleingang zurückgezahlt. Sie sagen, Sie hatten noch nie das Bedürfnis, dies zu tun - aber war das Zurückspulen einer Datei unter Ihrem aktuellen Backup-System wirklich eine schmerzlose und praktikable Option?
Manchmal sah der Bericht vor 45 Minuten, einer Stunde oder zwei Tagen einfach besser aus.
- Zusammenarbeit: Die meiste Zeit analysiere ich Daten selbst, daher würde ich die Vorteile der Versionskontrolle für die Zusammenarbeit nicht nutzen.
Ja, aber Sie würden ein Tool lernen, das sich als unverzichtbar erweisen könnte, wenn Sie am Ende mit anderen an einem Projekt zusammenarbeiten.
- Zeit, ein Versionskontrollsystem zu evaluieren und zu erlernen
Mach dir darüber keine Sorgen. Versionskontrollsysteme sind wie Programmiersprachen - sie haben einige Schlüsselkonzepte, die gelernt werden müssen, und der Rest ist nur syntaktischer Zucker. Grundsätzlich erfordert das erste Versionskontrollsystem, das Sie lernen, die meiste Zeit, um zu einem anderen zu wechseln. Sie müssen lediglich lernen, wie das neue System Schlüsselkonzepte ausdrückt.
Wählen Sie ein beliebtes System und machen Sie es!
- Eine mögliche Erhöhung der Komplexität gegenüber meinem aktuellen Dateiverwaltungssystem
Haben Sie beispielsweise einen Ordner, Projects
der alle Ordner und Dateien enthält, die sich auf Ihre Datenanalyseaktivitäten beziehen? Wenn dies der Fall ist, wird die Komplexität Ihres Dateisystems durch genaues Versetzen der Versionskontrolle erhöht 0
. Wenn Sie Ihre Projekte über Ihre computer- verstreut sind , dann sollten Sie sie zentralisieren , bevor die Versionskontrolle anwenden , und dies wird am Ende Verringerung der Komplexität bei der Verwaltung Ihrer Dateien- Deshalb haben wir einen haben Documents
Ordner , nachdem alle.
- Lohnt sich die Versionskontrolle?
Ja! Sie erhalten eine große Schaltfläche zum Rückgängigmachen und können problemlos Arbeiten von Maschine zu Maschine übertragen, ohne sich Gedanken über den Verlust Ihres USB-Laufwerks machen zu müssen.
2 Was sind die wichtigsten Vor- und Nachteile der Versionskontrolle?
Der einzige Nachteil, den ich mir vorstellen kann, ist eine leichte Vergrößerung der Dateigröße - aber moderne Versionskontrollsysteme können mit Komprimierung und selektivem Speichern absolut erstaunliche Dinge bewirken, so dass dies so ziemlich ein strittiger Punkt ist.
3 Was ist eine gute Strategie für den Einstieg in die Versionskontrolle für die Datenanalyse mit R (z. B. Beispiele, Workflow-Ideen, Software, Links zu Handbüchern)?
Halten Sie Dateien, die Daten oder Berichte generieren, unter Versionskontrolle. Seien Sie selektiv. Wenn Sie so etwas wie verwenden Sweave
, speichern Sie Ihre .Rnw
Dateien und nicht die .tex
Dateien, die daraus erstellt werden. Speichern Sie Rohdaten, wenn die erneute Erfassung schwierig wäre. Wenn möglich, schreiben und speichern Sie ein Skript, das Ihre Daten erfasst, und ein anderes, das sie bereinigt oder ändert, anstatt Änderungen an Rohdaten zu speichern.
Zum Erlernen eines Versionskontrollsystems empfehle ich Git und diese Anleitung .
Diese Websites enthalten auch einige nützliche Tipps und Tricks zum Ausführen bestimmter Aktionen mit Git: