Das Problem bei vorhandenen Versionskontrollsystemen ist nicht so sehr deren Komplexität. Es ist die Tatsache, dass es so viele Informationen gibt, dass es für Anfänger sehr schwierig sein kann, den Wald vor lauter Bäumen zu sehen (dh herauszufinden, was sie tun und nicht lernen müssen, wenn sie gerade erst anfangen ).
Dieser Beitrag konzentriert sich auf gitdie Steuerung von Emacs mithilfe eines Add-On-Pakets mit dem Namen magit. Ja , gitist komplex, aber Sie müssen nicht viel lernen, um es für den von Ihnen beschriebenen Zweck produktiv einzusetzen.
Ich gehe davon aus, dass Sie gitinstalliert haben (wenn Sie dies nicht tun, holen Sie es sich hier ) und dass Sie Emacs überhaupt nicht verlassen möchten.
Installieren magit
magitist ein gitFront-End für Emacs. Es ist bei MELPA erhältlich und kann wie folgt installiert werden:
M-x package-install RET magit RET
Auf gut Glück , dass Sie nicht Melpa in Ihrer Konfiguration aktiviert haben, können Sie Anweisungen finden , wie Sie das hier .
Repository einrichten
Angenommen, Sie haben einen Ordner ~/writingin Ihrem Ausgangsverzeichnis, der ein oder mehrere Dokumente enthält, die Sie der Versionskontrolle unterwerfen möchten.
- Öffnen Sie den Ordner in Dired: C-x d
~/writing RET
- Öffne eine Shell: M-x
shell RET
- Tippen
git initund drücken RET.
Das ist es. Sie haben jetzt ein gitRepository. Es besteht keine Notwendigkeit, es irgendwo zu "registrieren". gitist ein verteiltes Versionskontrollsystem; Es ist kein Remote-Server erforderlich, um Änderungen nachzuverfolgen.
Überprüfen Sie den Status Ihres Repositorys
- Wechseln Sie zurück zu dem Dired-Puffer, der die Dateien in Ihrem Repository auflistet.
- Tun M-x
magit-status RET.
Sie können sich den Puffer als Ihr "Kontrollfeld" für die Arbeit mit Ihrem Repository vorstellen. Für ein neues Repository sieht es ungefähr so aus:

Sie können mit n( magit-goto-next-section) und p( magit-goto-previous-section) zwischen verschiedenen Abschnitten dieses Puffers navigieren .
Sie können den Puffer durch Drücken von g( magit-refresh) aktualisieren .
Beachten Sie, dass Sie den Statuspuffer aus jeder Datei oder jedem Verzeichnis aufrufen können, die bzw. das zu dem Repository gehört, das Sie zuvor eingerichtet haben.
Dateien hinzufügen
Wie Sie auf dem Screenshot sehen können, befinden sich drei Dateien im Repository, die gitderzeit nicht verfolgt werden. Um zu sagen gitzu starten , eine Datei - Tracking, müssen Sie inszenieren es: Mit Punkt auf der Datei , die Sie hinzufügen möchten, drücken Sie s. Der Statuspuffer sieht dann so aus:

Festschreiben
Nachdem Sie eine oder mehrere Dateien gespeichert haben, können Sie sie festschreiben , indem Sie auf drücken c c. Dadurch wird ein Puffer angezeigt, der wie folgt aussieht:

Geben Sie oben Ihre Festschreibungsnachricht ein und drücken Sie C-c C-c, um die Festschreibung abzuschließen. (Zum Abbrechen drücken Sie C-c C-k.)
Der Statuspuffer sieht dann so aus:

Staging-Änderungen
Wenn Sie Änderungen an einer nachverfolgten Datei vornehmen, werden diese in einem separaten Abschnitt ("Nicht bereitgestellte Änderungen") im Statuspuffer aufgeführt:

Um die Änderungen zu überprüfen, die Sie an der Datei vorgenommen haben, navigieren Sie zu der Zeile mit der Aufschrift Modified file-1.txtund drücken Sie TAB:

Um diese Änderungen vorzunehmen, drücken Sie s:

Anzeigen vergangener Commits
Zum Schluss können Sie, wenn Sie frühere Commits überprüfen möchten, die Taste drücken l l(das sind zwei L-Zeichen in Kleinbuchstaben):

Sie können wie gewohnt durch den Puffer navigieren, der mit nund angezeigt wird p. Magit zeigt die Änderungen, die mit den einzelnen in diesem Puffer aufgelisteten Commits verbunden sind, in einem separaten Fenster an.
Zusammenfassung
Aus der Schale:
git init: gitRepository im aktuellen Verzeichnis initialisieren
Aus einer beliebigen Datei oder einem Verzeichnis, das einem gitRepository zugeordnet ist:
Aus dem Statuspuffer:
Das ist es. :)
gitundmagit- github.com/magit/magit - da Sie bereits ein wenig damit herumgespielt haben. Sie sollten sich wahrscheinlich mit den Befehlszeilenoptionen vertraut machen, um besser zu verstehen, wasmagitgeschieht. Emacs ist nicht für Nicht-Programmierer, aber Sie haben lange genug um die Szene gewesen, nicht von ihm Angst - :) Sie auch spielen , um zu versuchen mit wünschen könnengist: github.com/defunkt/gist.el