Verwalten Sie Ihre Dateiversion wie ein Programmierer mit Git

Verwalten Sie Ihre Dateiversion wie ein Programmierer mit Git / Programmierung

Wenn Sie schon einmal mit Kollegen an einem Dokument gearbeitet haben, kennen Sie diesen Schmerz: jemand macht den ersten Durchlauf (document.doc), dann per E-Mail an alle. Die nächste Person tut das gleiche wie die dritte, und jede macht eine Revision (document_rev3.doc) auf den Dateinamen. Der Manager mag das, was sie sieht, und markiert es als vollständig (document_final.doc)… Bis die Änderungen in letzter Minute einhergehen (document_final_Aarons changes_reviewed_by_Bob_now_really_final.doc).

Stellen Sie sich nun solche Änderungen in Dutzenden von Quellcodedateien vor. Programmierer entwickelten Versionskontrollsysteme (VCS), um dieses Problem zu lösen. Sie sind ein bisschen technischer Natur, können aber auch für Power-User nützlich sein. Schauen wir uns die Grundlagen der Versionskontrolle heute mit dem Top-System an, Git.

Übersicht über die verwendete Versionskontrolle

Der Hauptzweck von VCSs ist das Erfassen Versionen (auch genannt Revisionen) einer Datei im Laufe der Zeit. Dies bedeutet, dass Sie sich nicht auf grobe Methoden wie die oben beschriebene verlassen müssen. In diesen Systemen beim Zugriff “document.doc” Sie arbeiten standardmäßig an der aktuellsten Version. Sie können aber auch zurück zum Dateiverlauf gehen und frühere Versionen abrufen. Systeme, die speziell für die Verwaltung von Dateiversionen entwickelt wurden, begannen in der Softwareentwicklung, haben jedoch ihren Weg in mehr gefunden “Mainstream” Anwendungen auch.

Die Entwicklung der Versionskontrolle in der Softwareentwicklung

Versionskontrollanwendungen waren ursprünglich dazu gedacht, Programmierer daran zu hindern, den Code des jeweils anderen zu beschädigen. Die ersten Systeme erlaubten Benutzern einfach das Sperren von Dateien aus anderen Bearbeitungen, während Systeme der zweiten Generation (wie Subversion steuern, wie WordPress-Versionen mit Subversion [Linux] gesteuert werden sollen. Wie man WordPress-Versionen mit Subversion steuert [Linux].) Die meisten von Ihnen kennen wahrscheinlich bereits WordPress unterstützt eine große Anzahl von Websites, die wir täglich betrachten: Mit der großen Userbase und dem Support können Sie viele coole Dinge tun, indem Sie die vollständige Projektabwicklung über ein zentrales Repository hinzufügen.

Während diese Systeme der zweiten Generation immer noch weit verbreitet sind, wandert die Branche zu Systemen der dritten Generation. Das Hauptmerkmal dieser Systeme ist, dass sie es sind verteilt, Das heißt, es gibt kein zentrales Repository. Vielmehr verfügt jeder Benutzer über eine eigene vollständige Kopie des Repositorys (einschließlich aller früheren Versionen). Aber alle Änderungen (auch vollständige Revisionen) sind “lokal” bis er “schiebt” sie in ein anderes Repository. Dieser Benutzer kann dann einen Klon ziehen, um Änderungen vorzunehmen und den Vorgang zu wiederholen.

Aktuelle Versionskontrolle für Nichtprogrammierer

Die Möglichkeit, mehrere Versionen desselben Objekts zu erfassen, ist auch für Durchschnittsbenutzer üblich. Nicht nur für Codierer: Versionskontrollsysteme für Autoren Nicht nur für Codierer: Versionskontrollsysteme für Autoren: Versions- oder Versionskontrolle es scheint etwas für Geeks zu sein. Sie werden überrascht sein zu wissen, dass Versionskontrollsysteme nicht nur im akademischen Schreiben, sondern auch in… Read More. Mit dem Zugriff auf kostengünstigeren Speicher, sowohl auf dem lokalen Computer als auch über benutzerfreundliche Cloud-Services, haben Benutzer jetzt die Möglichkeit, den Verlauf ihrer Dateien zu verfolgen. Allzweckprogramme tun dies auf verschiedene Weise.

Betriebssysteme Erfassen eines Verlaufs von Dateien oder Ordnern Das ultimative Windows 10-Datensicherungshandbuch Das ultimative Windows 10-Datensicherungshandbuch Wir haben alle Optionen zum Sichern, Wiederherstellen, Wiederherstellen und Reparieren zusammengefasst, die wir unter Windows 10 finden können. Verwenden Sie unsere einfachen Tipps und verzweifeln Sie nicht wieder über verlorene Daten! Weiterlesen . Dies kann automatisch bei jedem Speichern einer Datei oder nach einem regulären Zeitplan geschehen. Etwas Desktop-Anwendungen Sie können auch Versionen oder Momentaufnahmen von Dateien erfassen. Zum Beispiel liefert LibreOffice die “Version speichern” Funktion (wie im Bild oben gezeigt), mit der Sie mehrere Versionen des Dokuments in einer Datei speichern können. Schließlich werden Web- / Cloud-Anwendungen wie Google Drive, ownCloud usw. auch die Iterationen einer Datei oder eines Dokuments (wie im unteren Bild unten für Google Text & Tabellen gezeigt) hinter den Kulissen oder auf Ihren Eilbefehl zurückhalten.

Warum dann eine programmierungsorientierte Versionskontrolle verwenden??

Da alle diese Optionen auf Betriebssystem- oder Anwendungsebene bereits vorhanden sind, warum sollten Sie sich mit diesen nerdy Programmierwerkzeugen beschäftigen? Die oben genannten Methoden weisen einige Nachteile auf, darunter:

  • Einige Betriebssysteme speichern jeden Tweak, den Sie in einer neuen Version an einer Datei vornehmen. Zeit zurückdrehen: 4 Tools und Tipps zum Wiederherstellen gelöschter Dateien in Windows Zeit zurücksetzen: 4 Tools & Tipps zum Wiederherstellen gelöschter Dateien in Windows Einer von Windows ' Die größte Schwachstelle könnte Ihre Rettung sein, sollten Sie jemals versehentlich eine wichtige Datei löschen: Das Windows-Dateisystem löscht keine Dateien. Gelöschte Dateien können bis zum Überschreiben wiederhergestellt werden. Weiterlesen . Dies nimmt nicht nur unnötigen Speicherplatz in Anspruch, sondern macht es auch schwierig, einen bestimmten Wiederherstellungspunkt für eine Datei zu identifizieren.
  • Diese Lösungen können auch eine Datei als Basiseinheit für die Verwaltung verwenden. Versionskontrollsysteme arbeiten jedoch normalerweise auf Verzeichnisebene (einschließlich Unterverzeichnissen). Mit einem VCS können Sie genau sehen, welche Datei wann geändert wurde.
  • Dieselben Lösungen geben Ihnen in den meisten Fällen auch keine Möglichkeit, die Iterationen zu kennzeichnen. Dies macht es ebenfalls schwierig, die Datei mit der Textpassage zu finden, die Sie irgendwann überschrieben haben, bevor Sie merkten, wie brillant sie war.
  • Die Versionierung durch Betriebssysteme und Anwendungen wie Word führt auch zu einzelnen Fehlerquellen. Bei Word handelt es sich um die Datei selbst (wenn sie beschädigt wird, verabschieden Sie sich auch von Ihren früheren Kopien). Für das Betriebssystem ist es die Festplatte. So diagnostizieren und beheben Sie eine tote Festplatte zur Datenwiederherstellung. Wie diagnostizieren und beheben Sie eine tote Festplatte für die Datenwiederherstellung. Ich war auf der Arbeit, als mein Laptop plötzlich besonders merkwürdig wurde. Etwa eine halbe Stunde später fiel die Festplatte hörbar aus, und der Laptop… Lesen Sie weiter, sofern Sie kein verantwortungsbewusster Benutzer sind und regelmäßig Sicherungskopien erstellen. Das Windows-Handbuch zum Sichern und Wiederherstellen Das Windows-Handbuch zum Sichern und Wiederherstellen von Katastrophen. Wenn Sie nicht bereit sind, Ihre Daten zu verlieren, benötigen Sie eine gute Windows-Sicherungsroutine. Wir zeigen Ihnen, wie Sie Backups vorbereiten und wiederherstellen. Weiterlesen .
  • Aufgrund der Beschaffenheit von webbasierten Diensten befinden sich ältere Versionen möglicherweise in der Cloud. Wenn Sie beispielsweise versuchen, den Verlauf einer Dropbox-Datei unter Linux anzuzeigen (wie in der folgenden Abbildung dargestellt), werden Sie zur Website weitergeleitet.

Wenn eines oder alle dieser Probleme Sie dazu bringen, mehr zu wollen, lesen Sie den nächsten Abschnitt, in dem wir sie lösen Git.

Versionskontrolle mit Git

In den folgenden Abschnitten gehen wir jeden dieser Schritte für ein sehr wichtiges Projekt durch: diesen Artikel. Wir machen dies mit der Kommandozeilenversion von Git. Die Kenntnis der Terminalbefehle macht es leicht, ihre GUI-Entsprechungen zu finden, und es garantiert, dass Sie es auf jeder Plattform verwenden können.

1. Einrichten des Git Repository

Wenn auf Ihrem Computer kein git installiert ist (Macs und einige Linux-Distributionen), können Sie entweder das Windows-Installationsprogramm von der Downloadseite des Projekts herunterladen oder unter Linux mit einem Befehl (spezifisch für Ihre Distribution) installieren:

sudo apt install git

Als nächstes müssen wir einen Idioten einrichten Repository, Dies ist nur ein Ordner, der Ihr Projekt enthält. Um die Git-Versionierung zu nutzen, müssen Sie dies tun initialisieren der Ordner als Repository. Sie können dies in einer Befehlszeile mit dem folgenden Befehl tun:

git init

Sobald dies abgeschlossen ist, sehen Sie möglicherweise nichts. Aktivieren Sie jedoch die Option “zeige versteckte Dateien” Option in Ihrem Dateimanager, und Sie werden sehen, dass es eine neue gibt .git Ordner (wie im obigen Bild gezeigt). Dies ist, wo git alle seine Informationen hält, so dass es Ihnen aus dem Weg geht.

2. Fügen Sie Ihre erste Datei hinzu und legen Sie sie fest

Im nächsten Schritt erstellen Sie einige Inhalte (Dateien) in Ihrem Projekt. Dies können beliebige Dateitypen sein, da die meisten Programmierprojekte aus Code (Text) und Elementen wie Grafiken (binär) bestehen. Alles, was Sie über Dateiformate und ihre Eigenschaften wissen müssen. Alles, was Sie über Dateiformate und deren Eigenschaften wissen müssen Verwenden Sie die Wortdatei austauschbar: Musik, Bild, Tabellenkalkulation, Diashow usw. Aber was macht eine Datei überhaupt zu einer "Datei"? Versuchen wir, diesen grundlegenden Teil des Computers zu verstehen. Weiterlesen . Führen Sie nach der Erstellung in der Befehlszeile Folgendes aus, während Sie sich noch in Ihrem Projektverzeichnis befinden:

Git-Status

Der erste Schritt zu einem Commit ist zu “Bühne” die neuen oder aktualisierten Elemente. Sehen Sie, wie Sie anhand der obigen Ausgabe wissen können, dass “nicht inszeniert” Änderungen? Sie können alles in Ihrem Verzeichnis bereitstellen (rekursiv, d. H. Um Unterordner und deren Dateien einzuschließen), mit diesem Befehl:

git -a .

Das “-ein” flag ist für “hinzufügen,” und der Zeitraum bezieht sich auf das aktuelle Verzeichnis. Es ist im Grunde gesagt “füge alle Dateien zum my-Commit hinzu.” Um das Commit durchzuführen, geben Sie Folgendes ein:

git commit -m "WHOOP, mein erstes Commit!"

Wenn Sie jetzt den Status erneut prüfen, sollten keine Wartezeiten mehr angezeigt werden. Um das Commit selbst zu sehen, überprüfen Sie das Git-Protokoll mit Grafikmodus, mit Auflistung geschnitten auf eine Linie, und verziert zur besseren Lesbarkeit:

git log --all --decorate --oneline --graph

Dies zeigt Ihnen einen schönen Zeitplan für Ihr Commit, wobei der aktuellste im Vordergrund steht.

3. Erstellen Sie einen zu experimentierenden Zweig

Während Sie arbeiten, möchten Sie vielleicht in eine bestimmte Richtung gehen, ohne zu wissen, ob es klappen wird. Dazu möchten Sie einen Zweig mit folgendem Befehl erstellen:

Git-Zweig-Experiment1 Git-Checkout-Experiment1

Der zweite Befehl wechselt zum “experiment1” Ast. Sie können zurückschalten, indem Sie es durch ersetzen “Meister.” Beachten Sie bei der Arbeit an Ihrem Text den Unterschied zwischen gleiche Datei von jedem Zweig. Zuerst die “experiment1” verzweige mit deinem neuen text:

Vergleichen Sie dies mit dem Original:

Nach einer Weile (endend mit einem neuen Commit) ist das Beste, was Sie sich vorstellen können “Lorem ipsum dolor sitzen amet… ?” Was ist das? Es ist Unsinn und sollte sofort von Ihrem Projekt gestrichen werden. Sie können Ihren Zweig mit dem folgenden Befehl in den Papierkorb werfen (“-D” for force löschen):

Git-Zweig -D Experiment1

Starten Sie nun einen weiteren Zweig und fügen Sie etwas intelligentes hinzu, zusammen mit einigen Bildern:

git branch experiment2 git checkout experiment2 git hinzufügen. git commit -m "Mehr Text, Bilder hinzugefügt"

4. Führen Sie Ihre Änderungen zusammen

Sobald Sie mit den Änderungen in Ihrem aktuellen Zweig zufrieden sind, werden sie mit dem folgenden Befehl mit dem Befehl zusammengeführt “Meister” Ast. Vorausgesetzt, Sie haben nicht viel zwischen den beiden hin und her gewechselt, werden alle Ihre neuen Änderungen übernommen und eine neue Revision erstellt. Folgendes in der Befehlszeile wird sie für Sie kombinieren:

git merge experiment2

Jetzt haben Sie eine Revision, die das Neueste in sich vereint “Meister” mit dem neuesten in “experiment2.” An diesem Punkt können Sie das Experiment (es war immerhin erfolgreich) mit den folgenden Ergebnissen loswerden:

Git-Zweig -d Experiment2

Beachten Sie, dass Sie nur dann die in diesem Zweig vorgenommenen inkrementellen Änderungen verlieren, wenn Sie dies tun.

5. Drücken Sie an einen sicheren Ort

Zuletzt ist Git ein verteilt System, dh Sie können mehrere Kopien Ihres Repositorys haben und diese synchronisieren. Erstellen Sie beispielsweise ein neues Repository auf einem Server, auf den Sie SSH zugreifen können. So verwalten Sie einen Linux-Server mit SSH aus der Ferne So verwalten Sie einen Linux-Server mit SSH aus der Ferne SSH ist sehr funktional. Erfahren Sie, wie Sie einen Linux-Server über SSH remote verwalten, von der Verbindung über die Installation von Software bis hin zur Dateiübertragung. Lesen Sie mehr mit diesem Befehl:

git init --bare

Das “-nackt” Flag legt es als eine Art schreibgeschütztes Repository fest, in dem Sie die Dateien nicht direkt ändern können. Dann können Sie dies als Remote-Kopie Ihres lokalen Repository mit den folgenden Einstellungen festlegen (der erste Befehl stellt sicher, dass neue lokale Zweigstellen remote erstellt werden):

git config push.default passend git remote add central ssh: // [benutzername] @ [URL] / pfad / zum / repository git push --set-upstream central master

Einrichten der Versionierung und Sicherung mit Git

Mit dem obigen Setup können Sie einen einfachen Prozess ausführen, um die gesamte Arbeit, die Sie an einem Projekt leisten, nicht nur versioniert, sondern auch zu sichern.

  1. Nehmen Sie Änderungen an den Projektdateien vor.
  2. Problem “git add .” alle Änderungen zu einem Commit hinzufügen.
  3. Problem “git commit -m [einige Nachricht]” um die Änderungen an Ihrem lokal Repository. Wiederholen Sie von Anfang an.
  4. Problem “git Push” die Änderungen in regelmäßigen Abständen an ein Remote-Repository übergeben.
  5. Problem “git clone ssh: // [Benutzername] @ [URL] / Pfad / zum / Repository” von einer anderen Maschine zu

Sind die Vorteile von Versionskontrollsystemen etwas, das Sie interessiert? Oder reichen die Nichtentwicklungs-Sicherungsanwendungen für Ihre Anforderungen aus? Teilen Sie uns Ihre Meinung in den Kommentaren unten mit!

Erfahren Sie mehr über: Dateiverwaltung.