2010-05-03 6 views
9

Ich höre viele Emacs-Benutzer haben ihre Init-Datei (.emacs oder init.el) unter git Versionskontrolle und synchronisieren das Git-Repository über Dropbox, wenn sie Emacs auf mehreren Systemen ausführen. Warum würden Sie Git in dieser Situation genau verwenden?Warum würden Sie Dropbox aber auch Git für Ihre Emacs-Initialisierungsdatei verwenden?

In der Regel wird geprüft, auf welchem ​​System Sie sich befinden und welche Dinge Sie laden und einstellen können. Dies kann in ein und derselben Init-Datei für alle Systeme geschehen. Warum genau möchten Sie einen Versionsverlauf Ihrer Init-Datei speichern, ist es wirklich so wichtig, dass es ein Git-Repository dafür rechtfertigt?

Also ist es nicht einfach genug, Ihre init-Datei in ein Dropbox-Verzeichnis zu legen und dieses direkt von Emacs direkt zu laden, statt die neueste Version aus Ihrem synchronisierten Git-Repo in Dropbox zu ziehen?

+2

Das scheint ziemlich redundant, wenn man bedenkt, dass Dropbox grundlegende Versionierungsunterstützung eingebaut hat. – Amber

+0

Donal Fellows: Und im Titel war absichtlich, um es zu betonen, aber ich werde es zu * und * dann ändern. –

+0

@Michiel: Es gibt wirklich keine Notwendigkeit; es wird auf keinen Fall mehr Augäpfel anziehen. –

Antwort

7

Git gibt Ihnen Versionskontrolle, Dropbox bietet Ihnen kostenloses privates Hosting.

Bis vor kurzem war dies die einzige kostenlose Methode, ein privates Git Repo zu hosten, das ich kenne. Gitorious, repo.or.cz und Co. haben keine privaten Repos und GitHub, ShareSource und Freunde verlangen Geld für private Repos. Assembla ist der einzige Hoster, den ich kenne, der kostenloses privates Repo-Hosting anbietet, aber dieses Angebot hat erst vor drei Wochen begonnen.

Persönliche Konfigurationsdateien enthalten möglicherweise vertrauliche Daten, daher ist es sinnvoll, sie privat zu hosten, aber es macht vielleicht keinen Sinn, GitHub 7 $/mo nur für eine einzige .emacs Datei zu bezahlen.

+0

Die eigentliche Frage ist, warum sollte ich Versionskontrolle für meine .emacs-Datei haben? –

+4

Ola Bini erklärt das hier: http://olabini.com/blog/2008/05/how-large-is-your-emacs/ – Andreas

1

Sobald Entwickler ein Versionskontrollsystem finden, das sie mögen, gibt es eine Tendenz, es für alle wichtigen Dateien zu verwenden. - Sie stellen sicher, dass die Dateien immer gesichert, verwaltet, einen Verlauf (einschließlich Protokoll der Kommentare, Gründe für die Änderungen, etc.) erhalten werden.

Git hat eine Menge Benutzer angezogen, ich bin nicht überrascht von Leuten zu hören, die es zum Verfolgen von Init-Dateien verwenden.

+0

Tatsächlich. http://github.com/technomancy/emacs-starter-kit/network –

2

Ich benutze Dropbox nicht nur für Emacs Konfigurationsdateien, sondern auch für alle anderen externen Pakete (neuerer Organisationsmodus, SLIME, etc.) und einzelne .el Dateien, damit ich sie installiere und konfiguriere (load path, Infodateien, Byte-Kompilierung, usw.) nur einmal für alle Systeme und verwenden Git, um die Konfigurationsdateien zu verwalten (allgemeine Einrichtung, System- oder Betriebssystem-spezifische Anpassung).

Danach ist alles bergab, da ich Tonnen von Referenzmaterial in meine Dropbox (API-Dokumente, Protokolle, Spickzettel, etc.) sowie Entwicklungsmaterial (Java-Jar-Dateien, Quellen, usw.) hineingelegt habe dass ich die gleiche Entwicklungsumgebung auf allen meinen Systemen mit Emacs-Befehlen habe, um auf all die Sachen zuzugreifen.

+0

Mit Dropbox für das ist nicht die Frage. Die Frage ist, warum auch ein Versionskontrollsystem, in diesem Fall git, zusätzlich dazu verwendet wird. –

+1

Da Emacs Konfiguration und Anpassung Code sind und sehr komplex und fragil sein können, wenn es sich um mehrere Maschinen mit unterschiedlichen Betriebssystemen handelt? – gko

2

Solange Sie Ihre Konfigurationsdateien als Code betrachten, möchten Sie ein richtiges VCS verwenden. Dropbox gibt einen gewissen Wert, aber es ist nicht in der gleichen Liga wie Git.

Kurz gesagt, wenn Sie mit Code arbeiten, möchten Sie mehr als nur ein Rollback auf frühere Versionen des Dokuments. Sie möchten schnell und effektiv die Unterschiede zwischen den Versionen betrachten. Sie möchten wissen, was sich geändert hat, warum es sich geändert hat, wann usw. Sie möchten experimentelle Zweige erstellen, in denen Sie etwas Neues ausprobieren, ohne etwas zu überladen, von dem Sie wissen, dass es funktioniert. Sie möchten einige der Änderungen aus dem Experiment in Ihren stabilen Zweig übernehmen; aber vielleicht nicht alles.

Ein anderes Problem ist, dass Sie in Zukunft vielleicht Ihre Dateien, einschließlich aller Geschichte, aus dem einen oder anderen Grund aus Dropbox verschieben möchten. Wenn Sie git verwenden, ist das trivial.

1

Dropbox bietet Ihnen einige Unterstützung für die Geschichte, aber es ist nicht so umfangreich und kontrollierbar wie Git. Wenn ein Entwickler Git kennt, ist es sinnvoll, seine Konfigurationsdateien für Dinge wie Emacs in Git zu behalten. Sie haben eine vollständige Version, Sie verlieren nie eine alte Version, Sie committen Änderungen mit sinnvollen Nachrichten zu nützlichen Zeitpunkten, etc.

Nun, warum tun es auf Dropbox, wenn Git Sie Push/Pull zwischen den Repositories? Einfachheit. Wenn sich Ihre Dateien in Dropbox befinden, werden sie transparent und automatisch auf allen mit Dropbox verbundenen Computern angezeigt. Sie müssen sich also keine Sorgen machen über "Habe ich die Änderungen übernommen? Wo sind die letzten Änderungen?" usw. Wie andere erwähnt haben, brauchen Sie auch kein privates Git-Repository irgendwo auf Ihrem eigenen Server oder einen kostenpflichtigen Dienst.

Wenn Sie beides gleichzeitig verwenden, haben Sie den Vorteil, dass Sie Ihre Konfiguration problemlos auf Computer klonen können, die Dropbox nicht einfach unterstützen (z. B. Remote-Server). Dropbox zum Synchronisieren mit Ihrem Laptop/Desktop/Workstation, git auf den Servern, und Sie haben die gleiche Konfiguration überall mit minimalem Aufwand. Und sinnvolle Versionierung.

Verwandte Themen