Speichern Sie Schnappschüsse häufig aktualisierter Dateien im Laufe der Zeit mit Versionskontrolle in Programmierstärke - jedoch ohne Lernaufwand. Die kostenlose Software Flashbake erfasst Arbeitsdateien und fügt jeder Version automatisch Details wie das Wetter und Ihren Twitter-Status hinzu.

Was ist Versionskontrolle?

Vor fast drei Jahren hat Adam Ihnen gezeigt, wie Sie einen persönlichen Subversion-Server für zu Hause einrichten. Sie wissen also bereits, dass Subversion ein Open-Source-Versionskontrollsystem ist, mit dem Sie Momentaufnahmen von sich ändernden Dateien im Laufe der Zeit erstellen können. Git ist das neue Kind im Versionskontrollsystem. Dies hat unter den Software-Entwicklern einige Aufmerksamkeit erregt, zum Teil, weil der Schöpfer, Linus Torvalds, Ihnen auch das Linux-Betriebssystem gebracht hat.

Artikel Vorschau Thumbnail
Hack Attack: So richten Sie einen persönlichen Home Subversion-Server ein

von Adam Pash

In erster Linie verwenden Softwareentwickler Versionskontrollsysteme wie Git und Subversion, um Code im Laufe der Zeit zu archivieren, zu verwalten, zurückzusetzen und zusammenzuführen. Sie können die Versionskontrolle jedoch für jede Art von Datei verwenden, die nur aus Text besteht - sei es Code, kreatives Schreiben, eine Aufgabenliste oder Notizen. Genau dafür nutzt es der Science-Fiction-Autor und Blogger Cory Doctorow, aber er wollte Dateien nicht manuell per Hand festschreiben, wie es Codierer tun. Als Reaktion auf die Gespräche mit Doctorow hat der Programmierer Thomas Gideon Flashbake entwickelt, eine vereinfachte Schnittstelle zu Git, die im Hintergrund ausgeführt wird und Versionen stillschweigend festschreibt, wie Doctorow schreibt, ohne dass ein Eingreifen erforderlich ist. (Hier ist die ganze Geschichte von Flashbake in Corys Worten.)

Als ein Programmierer, der zum Schreiber wurde, kitzelt mich Flashbake pink, weil es jedem, der ständig in reine Textdateien schreibt, ein leistungsfähiges Entwicklertool zur Verfügung stellt. Sobald Sie anfangen, Code mit Git zu verwalten, stellen Sie ziemlich schnell fest, dass es sich um den Schlafanzug der Katze handelt. Aber es gibt eine Lernkurve und viele Befehle, die man meistern muss, bevor man sie wirklich gut nutzen kann. Mit Flashbake können Autoren alle Vorteile von Git mit einem einzigen Befehl nutzen.

Was macht Flashbake?

Kurz gesagt, Flashbake erledigt zwei Dinge schnell und einfach:

  1. In Flashbake werden von Ihnen angegebene Textdateien in ein lokales Git-Repository übertragen. Sie können festlegen, dass es während der Arbeit leise im Hintergrund ausgeführt wird, sodass dies ohne Intervention möglich ist.
  2. Wenn die richtigen Plug-Ins aktiviert sind, bettet Flashbake automatisch Umgebungsinformationen in jede Version dieser Dateien ein, z. B. das Wetter, Ihren Twitter-Status und den zuletzt gehörten Titel, indem alle Informationen in die Commit-Nachricht jeder Version aufgenommen werden.

Sie erhalten eine Datenbank mit Dateiversionen, an die Notizen angehängt sind, aus denen hervorgeht, was Sie gemacht haben, wie es draußen war und was Sie damals gehört haben. Ich habe Flashbake verwendet, als ich diesen Artikel schrieb, und mein lokales Git-Repository auf GitHub, einen kostenlosen Git-Host, verschoben, um Flashbake in Aktion zu demonstrieren.

So sieht es aus:

Illustration zum Artikel mit dem Titel Flashbake automatisiert die Versionskontrolle für (Nerdy) -Schreiber

Sehen Sie sich den Verlauf der Änderungen an diesem Beitrag im Laufe der Zeit an: flashbake_automates_version_control.txt / Commit-Verlauf. Klicken Sie auf den Link "Festschreiben", um einen Farbcodierungsunterschied zwischen dieser und der früheren Version anzuzeigen:

Illustration zum Artikel mit dem Titel Flashbake automatisiert die Versionskontrolle für (Nerdy) -Schreiber

Ich habe die Flashbake-Plug-Ins so konfiguriert, dass sie das aktuelle Wetter in San Diego, die Zeitzone meines Computers, meinen Twitter-Status und meine zuletzt wiedergegebenen Titel von Last.FM (mithilfe des Feeds) enthalten. So sah eine solche automatische Festschreibungsmeldung aus einer frühen Version dieses Beitrags spät in der Nacht aus:

Illustration zum Artikel mit dem Titel Flashbake automatisiert die Versionskontrolle für (Nerdy) -Schreiber

Sie wissen, dass Sie es selbst ausprobieren möchten. Aber zuerst eine Warnung.

Nerd Alert: Für wen Flashbake wirklich ist

Flashbake ist ein Befehlszeilensystem für fortgeschrittene Benutzer und erfordert eine Linux-ähnliche Shell wie Cygwin für Windows oder das in Mac OS X integrierte Terminal. Es ist definitiv nicht für Leute, die nach etwas wie der Versionierung von Microsoft Word suchen. Es ist jedoch für Leute, die viel von einfachen Textdateien Gebrauch machen, es macht nichts aus, das Terminal zu starten und ein oder zwei cron und zu wissen, was cron ist. Da Flashbake eine Schnittstelle zu Git ist, die in Python geschrieben wurde, müssen Sie alle drei installiert haben, um diese Party zu starten. Noch keine Angst? Cool. Lass uns gehen.

Installieren Sie Flashbake

Die Installations- und Konfigurationsdokumentation von Flashbake ist bereits ziemlich vollständig, daher werde ich sie hier nicht duplizieren. Kurz gesagt, um Flashbake ausführen zu können, müssen Sie Superuser-Zugriff haben und wie gewohnt Folgendes installieren:

  • Python mit dem Setuptools-Modul
  • Git

Laden Sie die neueste Version von Flashbake herunter und extrahieren Sie sie. Führen Sie im extrahierten Verzeichnis Folgendes aus:

Installation von sudo python setup.py

Jetzt können Sie mit Ihrem Projekt beginnen. Erstellen Sie einen neuen Ordner - ich habe meinen write - und cd Sie eine cd in den Ordner ein. Dann renne:

Git Init

Erstellen Sie die erste Textdatei, die Sie mit Flashbake verfolgen möchten, z. B. my_novel.txt, und geben Sie einige Zeilen ein. Jetzt können Sie die Revisionen mit Flashbake nachverfolgen. Erstellen Sie in Ihrem Projektverzeichnis eine neue Datei mit dem Namen .flashbake (den Startpunkt nicht vergessen) und fügen Sie den Namen Ihrer Textdatei hinzu. Beispielsweise verfolgt mein Flashbake-Projekt zwei Dateien mit dem Namen my_novel.txt und diesen Beitrag in einer Datei mit dem Namen flashbake_automates_version_control.txt . Das Ende meiner .flashbake Konfigurationsdatei sieht also so aus:

# "Heiße Dateien" für Flashbake, fügen Sie hier Ihre hinzu my_novel.txt flashbake_automates_version_control.txt

(Flashbake ignoriert die erste Zeile, die mit dem # beginnt, da es sich um einen Kommentar handelt.)

Jetzt sind wir fast bereit, Flashbake auszuführen. Zuerst müssen wir ein oder zwei Plug-Ins konfigurieren.

Shake- und Flashbake-Plug-Ins

Flashbake-Plug-Ins sind die geheime Sauce, die es zu einer würdigen Schnittstelle zu Git macht. Plug-Ins fügen automatisch Informationen zu den Festschreibungsnotizen jeder Version hinzu, z. B. Feedelemente, das Wetter und die Zeitzone.

Hier ist eine vollständige Liste der Standard-Plug-Ins, die mit Flashbake geliefert werden. Ich habe in meinem Flashbake-Projekt vier Plug-Ins verwendet: Wetter, Zeitzone, Twitter und das Feed-Plug-In. Führen Sie, wie in der Flashbake-Plug-In-Dokumentation erläutert, die Plug-Ins auf, die Sie in Ihrer .flashbake Datei verwenden .flashbake, und die zusätzlichen Parameter unten.

Zum Beispiel sieht meine vollständige .flashbake Datei so aus:

# Liste auf, welche Plug-Ins Flashbake aufrufen soll plugins: flashbake.plugins.weather: Weather, flashbake.plugins.timezone: TimeZone, flashbake.plugins.microblog: Twitter, flashbake.plugins.feed: Feed # Konfiguration des Wetter-Plug-Ins wetter_stadt: San Diego # Feed-Plug-In-Konfiguration feed_url: http: //ws.audioscrobbler.com/1.0/user/ginatrapani/recenttracks.rss # limit ist optional, der Standardwert ist 5, wenn er nicht verwendet wird feed_limit: 3 # Konfiguration des Twitter-Plug-Ins twitter_user: ginatrapani twitter_limit: 3 # "Heiße Dateien" für Flashbake, fügen Sie hier Ihre hinzu my_novel.txt flashbake_automates_version_control.txt

Beachten Sie, dass die Reihenfolge, in der Sie die Plug-Ins auflisten, von Bedeutung ist. Ich habe die Position von Wetter und Zeitzone geändert, um das Wetter oben in jeder Commit-Nachricht in der Versionsliste von GitHub anzuzeigen.

Jetzt können Sie Flashbake ausführen. Um einen "Probelauf" von Flashbake zu versuchen und zu sehen, was festgeschrieben wird, ohne das Festschreiben tatsächlich durchzuführen, cd .. in das übergeordnete Verzeichnis Ihres Projektverzeichnisses und führen Sie Folgendes aus (wobei "Ihr_Projektverzeichnis" der Name Ihres Projektverzeichnisses ist):

flashbake -d dein_projektverzeichnis

Sie können Ihrem Befehl sogar die -v hinzufügen, um eine ausführliche Ausgabe für das Debuggen zu erhalten.

Sie erhalten eine ähnliche Ausgabe. Optimieren Sie Ihre .flashbake Datei, bis die Ausgabe Ihren Wünschen entspricht.

Illustration zum Artikel mit dem Titel Flashbake automatisiert die Versionskontrolle für (Nerdy) -Schreiber

Wenn die Plug-Ins von Flashbake wie gewünscht funktionieren, führen Sie einfach die folgenden Schritte aus, um den aktuellen Status der Datei als Version zu speichern:

flashbake dein_projektverzeichnis

Verwenden Sie den Cron-Scheduler Ihres Systems, damit Flashbake automatisch im Hintergrund ausgeführt wird. Hier ist die vollständige Liste der Möglichkeiten, Flashbake auszuführen.

Veröffentlichen Sie Ihr Flashbake-Git-Repository in GitHub

Jetzt haben Sie ein lokales Git-Repository mit Dateiversionen. Großartig, richtig? Gut nicht, wenn Sie sie leicht benutzen können. Git-Neulinge kennen nicht alle Befehle zum Suchen und Vergleichen von Versionen. Glücklicherweise bedeutet eine hübsche Webhosting-Lösung für Git, dass Sie die Befehle nicht kennen müssen. Ich habe mein lokales Git-Repository in GitHub veröffentlicht, um meine Dateiänderungen in diesem Beitrag anzuzeigen. Eröffnen Sie einen kostenlosen Account bei GitHub und legen Sie dort ein neues Repository an. Schieben Sie dann Ihr lokales Repository zu GitHub, um ein Cloud-Backup und eine ansprechende Weboberfläche für Ihr Projekt zu erstellen. Verwenden Sie dazu die Setup-Anweisungen von GitHub. Nachdem ich auf GitHub ein Repository mit dem Namen write erstellt hatte, forderte GitHub mich auf, die folgenden Befehle auszuführen (wobei "existing_git_repo" Ihr Projektverzeichnis ist):

Illustration zum Artikel mit dem Titel Flashbake automatisiert die Versionskontrolle für (Nerdy) -Schreiber

Der Befehl git push origin master ist der magische Befehl, mit dem Ihre lokalen Dateien an GitHub übertragen werden. Standardmäßig müssen Sie diesen Remote-Push von Hand ausführen. Wenn Sie jedoch die Ausführung von Flashbake automatisieren, können Sie mit diesem praktischen Befehl festlegen, dass lokale Commits automatisch an einen Remote-Host (wie GitHub) gesendet werden.

Flashbake ist noch ein sehr junger Mechanismus zum Treiben von Git, und es werden immer mehr Plug-Ins und Konfigurationsoptionen verfügbar, sodass wir hier nur die Oberfläche zerkratzt haben. Aber die Versionskontrolle von Programmierern für das Schreiben, Auflisten oder Notizen ist etwas, was immer technisch versierte Leute in Zukunft tun werden. Vielen Dank an Leo Laporte und Cory Doctorow, die mich in dieser Folge von This Week in Tech auf Flashbake aufmerksam gemacht haben.

Haben Sie Flashbake, Git oder GitHub ausprobiert? Veröffentlichen Sie Links zu Ihren Projekten und teilen Sie uns in den Kommentaren mit, wie es Ihnen gefällt.

Gina Trapani , die Gründungsredakteurin von Lifehacker, verwendet Git sowohl zum Schreiben als auch zum Codieren. Ihr wöchentlicher Beitrag Smarterware erscheint jeden Mittwoch bei Lifehacker. Abonnieren Sie den Smarterware-Tag-Feed, um neue Raten in Ihrem Newsreader zu erhalten.

Empfehlungen Tipp Der Redaktion