GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Was ist Git?

Einführung

Git ist das beliebteste Versionskontrollsystem (VCS ) in der Welt. Es zeichnet Änderungen an Ihrem Code in einem Repository auf und ermöglicht es Ihnen, im Falle eines Fehlers oder eines Fehlers zu einem früheren Zustand zurückzukehren.

In diesem Artikel erfahren Sie, was Git ist, welche wichtigsten Funktionen es hat und wofür es verwendet wird.

Was ist Git?

Git ist ein kostenloses Open-Source-VCS, das zur Verfolgung von Quellcodeänderungen verwendet wird . Es ermöglicht mehreren Entwicklern, gemeinsam an nichtlinearer Entwicklung zu arbeiten . Git ist kostenlos, Open Source, schnell und skalierbar und damit das beliebteste VCS der Welt.

Es gibt zwei Arten von Versionskontrollsystemen:

  • Zentralisiert . Alle Teammitglieder verbinden sich mit einem zentralen Server, um die neueste Codekopie zu erhalten und ihren Beitrag mit anderen zu teilen.
  • Verteilt . In einem verteilten VCS hat jedes Teammitglied eine Kopie des Projekts und seines Verlaufs auf seinem Computer, sodass es Snapshots des Projekts lokal speichern kann.

Das Problem bei einem zentralisierten VCS ist der Single Point of Failure. Wenn der Server ausfällt, können Teammitglieder nicht zusammenarbeiten oder Schnappschüsse ihres Projekts speichern.

Git ist ein verteiltes VCS, das den Single Point of Failure behebt Problem, da Mitglieder ihre Arbeit auch dann synchronisieren können, wenn der zentrale Server offline ist.

Das folgende Diagramm zeigt, wie mehrere Personen in einem einzigen Projekt mit Git zusammenarbeiten:

Wofür wird Git verwendet?

Die Hauptanwendung von Git ist die Quellcodeverwaltung in der Softwareentwicklung, kann jedoch Änderungen in jedem Dateisatz verfolgen. Die in Git gespeicherte Projekthistorie zeigt, wer Änderungen vorgenommen hat, was wann und warum getan wurde.

Als verteiltes VCS ermöglicht Git jedem Teammitglied, eine Kopie des Projekts und seines Verlaufs auf seinem Computer zu haben, sodass es Projekt-Snapshots lokal speichern kann .

Außerdem können Entwickler mit mehreren Remote-Repositories arbeiten und gleichzeitig mit anderen Personen innerhalb desselben Projekts zusammenarbeiten. Folglich können Benutzer mehrere Workflow-Typen einrichten, die in einem zentralisierten System nicht möglich sind , z. B. ein hierarchisches Modell.

Funktionen

Durch mehrere Funktionen ist Git anderen Versionskontrollsystemen voraus.

Leistung

Performance ist der Trumpf von Git im Vergleich zu anderen Versionskontrollsystemen. Das Festschreiben von Änderungen, Verzweigen, Zusammenführen und Vergleichen früherer Versionen sind alles hochleistungsfähige Vorgänge in Git.

Fortgeschrittene Algorithmen und eine verteilte Architektur sind die Grundlage für die hohe Leistungsfähigkeit von Git. Die Algorithmen nutzen fundiertes Wissen über gemeinsame Attribute von echten Quellcode-Dateibäumen, ihre Änderungen im Laufe der Zeit und ihre Zugriffsmuster.

Git verlässt sich bei der Bestimmung des Speichertyps und des Versionsverlaufs der Dateistruktur nicht auf die Dateinamen, da Quellcodedateien häufig umbenannt, aufgeteilt oder neu angeordnet werden. Stattdessen konzentriert sich Git auf den Dateiinhalt .

Das Git-Repository-Objektformat verwendet Delta-Codierung (Speichern von Inhaltsunterschieden) und Komprimierung , explizites Speichern von Verzeichnisinhalten und Versionsmetadatenobjekten.

Kompatibilität

Git ist mit allen verfügbaren Betriebssystemen sowie anderen Remote-Repositories von VCS kompatibel , auf die direkt zugegriffen werden kann.

Seine Fähigkeit, auf andere VCS-Repositories zuzugreifen, bedeutet, dass Benutzer einfach zur Verwendung von Git wechseln können ohne ihre Dateien aus diesen Repositorys in das Git-Repository zu verschieben.

Verzweigung

Branches in Git sind Entwicklungslinien parallel zu den Hauptprojektdateien. Durch die Verwendung von Verzweigungen können Entwickler Änderungen am Projekt vornehmen, ohne die Originalversion zu beeinträchtigen .

Die Originalversion verbleibt im Hauptzweig und kann später mit neuen Funktionen zusammengeführt werden, nachdem sie in anderen Zweigen getestet wurden.

Verzweigen und Zusammenführen sind einfache Prozesse in Git, im Gegensatz zu anderen VCSs, wo sie komplex und langsam sein können.

Sicherheit

Sicherheit und Codeintegrität haben beim Commit von Änderungen in Git Priorität. Dieses VCS speichert Datensätze aller Commits von jedem Teamkollegen auf der lokalen Kopie des Entwicklers durchgeführt.

Wenn jemand eine Push-Operation ausführt, erstellt Git eine Protokolldatei und sendet es an das zentrale Repository. Wenn also ein Problem auftritt, kann es leicht nachverfolgt und behoben werden.

Eine weitere großartige Sicherheitsfunktion ist der SHA1-Verschlüsselungsalgorithmus , die zum Sichern und Identifizieren aller Objekte im Repository verwendet wird. Der Algorithmus schützt den Code und die Änderungshistorie vor versehentlichen oder beabsichtigten Änderungen und stellt gleichzeitig eine vollständig nachvollziehbare Historie sicher.

Geschwindigkeit

Das Abrufen von Daten aus einem lokalen Repository ist ungefähr 100-mal schneller als das Abrufen von Daten aus einem entfernten Repository. Git speichert alle Projektdaten im lokalen Repository , was zu unglaublichen Geschwindigkeiten beim Abrufen von Daten führt.

Git ist außerdem hochgradig skalierbar und schneller als andere Versionskontrollsysteme, wodurch große Projekte effizient gehandhabt werden können.

Flexibilität

Ein weiteres großartiges Merkmal von Git ist seine allgemeine Flexibilität.

Benutzer können Änderungen leicht nachverfolgen, da Entwickler eine Commit-Nachricht hinterlassen können nach Änderungen. Eine Commit-Nachricht ermöglicht es einem anderen Entwickler, nahtlos dort weiterzuarbeiten, wo der vorherige aufgehört hat.

Git enthält auch Funktionen wie Sichern und Wiederherstellen, die Benutzern helfen, die Sicherung des Quellcodes zu verwalten. Außerdem ist nur ein Befehl erforderlich, um den Quellcode auf dem Server bereitzustellen.

Weit verbreitet

Da es nahezu alles besitzt, was Entwickler für die effektivsten Arbeitsergebnisse benötigen, hat sich Git zum am weitesten verbreiteten Versionskontrollsystem entwickelt. Aufgrund seiner Verbreitung auf dem Markt, zahlreiche Tools und Dienste sind speziell für Git optimiert.

Obwohl sich viele Tutorials, spezielle Websites und Bücher mit Git befassen, wird es oft dafür kritisiert, dass es schwer zu erlernen ist. Dennoch ist Git für die meisten Entwickler zu einer obligatorischen Fähigkeit geworden, die die Grundlage für die Verwendung anderer VCSs darstellt.

Ein weiterer Grund für die große Verbreitung von Git ist, dass es Open Source ist , was bedeutet, dass die Nutzung völlig kostenlos ist.

Wie funktioniert Git?

Wie es mit Daten umgeht, unterscheidet Git von anderen Versionskontrollsystemen.

Während andere VCSs Informationen als Liste von dateibasierten Änderungen speichern , speichert Git seine Daten in einer Reihe von Snapshots eines Miniaturdateisystems. Jedes Mal, wenn Sie eine Änderung festschreiben oder Ihren Projektstatus speichern, erstellt Git in diesem Moment einen Schnappschuss aller Ihrer Dateien und speichert einen Verweis auf diesen Schnappschuss.

Wenn es keine Dateiänderungen gab, speichert Git die Datei aus Effizienzgründen nicht erneut. Stattdessen wird lediglich ein Link zur vorherigen Dateiversion erstellt, die bereits gespeichert ist.

Ein Git-Projekt besteht aus drei Abschnitten:

  • Das Arbeitsverzeichnis . Das einmalige Auschecken einer Version des Projekts.
  • Der Bereitstellungsbereich . Ein Index, der Informationen darüber speichert, was der nächste Commit enthalten wird.
  • Das Git-Repository . Der Ort, an dem Git die Metadaten und die Objektdatenbank für ein Projekt speichert.

Das folgende Diagramm stellt den grundlegenden Git-Projektablauf dar:

Vor dem Speichern von Daten in Git wird alles überprüft und dann unter Verwendung dieser Prüfsumme bezeichnet. Dadurch wird verhindert, dass Dateiänderungen oder Datenbeschädigungen unter das Radar geraten. Der für die Prüfsummenbildung verwendete Mechanismus ist der SHA-1-Hash .

Git speichert Dateien in drei Hauptzuständen:

  • Geändert. Eine Datei wurde geändert, aber noch nicht in die Datenbank übernommen.
  • Inszeniert. Eine modifizierte Datei in ihrer aktuellen Version wird markiert, um in den nächsten Commit-Snapshot zu gehen.
  • Verpflichtet. Die Daten werden sicher in Ihrer lokalen Datenbank gespeichert.

Das VCS verhindert auch Datenverlust, da fast alle Aktionen in Git nur Daten hinzufügen in das Repository, wodurch sie im Grunde rückgängig gemacht werden können .

Warum ist Git wichtig?

Ein Versionskontrollsystem erleichtert die Entwicklung, wenn es viele Punkte auf der Zeitachse gibt, und ermöglicht Benutzern, ihre Entwicklungspfade zu verwalten.

Ohne ein VCS müssten Entwickler ständig Projektkopien in verschiedenen Ordnern speichern, was langsam und nicht skalierbar ist, insbesondere wenn ein Team an demselben Projekt arbeitet. Kein VCS würde auch bedeuten, dass die Dateiänderungen manuell ausgetauscht und zusammengeführt werden müssten.


Ubuntu
  1. Was ist Bare-Metal-Cloud

  2. Was ist Git Upstream und wie richtet man Upstream Branch ein?

  3. Was ist Web 3.0?

  4. Was ist der Unterschied zwischen Git Switch und Checkout?

  5. Was ist JingOS Linux?

Was ist Jenkins?

Was ist LAMP Stack?

Was ist 127.0.0.1 Localhost?

Was ist Git Bash? Arbeiten mit Git Bash-Befehlen

Was ist Git und wie installiert man Git unter Linux?

Was ist Localhost?