Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Git ist zum weltweiten Standard für die Versionssteuerung geworden. Was genau ist das?
Git ist ein system für die verteilte Versionsverwaltung, was bedeutet, dass ein lokaler Klon des Projekts ein vollständiges Versionssteuerungs-Repository ist. Diese voll funktionsfähigen lokalen Repositorys machen es einfach, offline oder remote zu arbeiten. Entwickler übernehmen ihre Arbeit lokal und synchronisieren dann ihre Kopie des Repositorys mit der Kopie auf dem Server. Dieses Paradigma unterscheidet sich von der zentralen Versionssteuerung, bei der Clients Code mit einem Server synchronisieren müssen, bevor neue Codeversionen erstellt werden.
Die Flexibilität und Beliebtheit von Git machen es für jedes Team zu einer großartigen Wahl. Viele Entwickler und Hochschulabsolventen wissen bereits, wie Git verwendet werden kann. Die Benutzercommunity von Git hat Ressourcen erstellt, um Entwickler zu schulen, und Git ist so beliebt, dass es einfach ist, bei Bedarf Hilfe zu erhalten. Fast jede Entwicklungsumgebung verfügt über Git-Unterstützung und Git-Befehlszeilentools, die auf jedem wichtigen Betriebssystem implementiert sind.
Git-Grundlagen
Jedes Mal, wenn Arbeit gespeichert wird, erstellt Git einen Commit. Ein Commit ist eine Momentaufnahme aller Dateien zu einem Zeitpunkt. Wenn eine Datei von einem Commit zum nächsten nicht geändert wurde, verwendet Git die zuvor gespeicherte Datei. Dieser Entwurf unterscheidet sich von anderen Systemen, die eine ursprüngliche Version einer Datei speichern und eine Aufzeichnung von Deltas im Laufe der Zeit speichern.
Commits erstellen Verknüpfungen zu anderen Commits und bilden einen Graph der Entwicklungshistorie. Es ist möglich, Code auf einen vorherigen Commit zurückzuverwenden, zu prüfen, wie Dateien von einem Commit zum nächsten geändert wurden, und Informationen, z. B. wo und wann Änderungen vorgenommen wurden, überprüfen. Commits werden in Git durch einen eindeutigen kryptografischen Hash des Inhalts des Commits identifiziert. Da alles hashed ist, ist es unmöglich, Änderungen vorzunehmen, Informationen zu verlieren oder beschädigte Dateien zu verlieren, ohne dass Git sie erkennt.
Branches
Jeder Entwickler speichert Änderungen an einem eigenen lokalen Code-Repository. Daher kann es viele verschiedene Änderungen basierend auf demselben Commit geben. Git bietet Tools zum Isolieren von Änderungen und späteren Zusammenführen von Änderungen. Verzweigungen, die leichte Zeiger für laufende Arbeiten sind, verwalten diese Trennung. Sobald die Arbeit, die in einem Branch erstellt wurde, abgeschlossen ist, kann sie wieder mit dem Hauptbranch (oder Trunk) des Teams zusammengeführt werden.
Dateien und Commits
Dateien in Git befinden sich in einem von drei Zuständen: geändert, zum Staging hinzugefügt oder committen. Wenn eine Datei zum ersten Mal geändert wird, sind die Änderungen nur im Arbeitsverzeichnis vorhanden. Sie sind noch nicht Teil eines Commits oder der Entwicklungshistorie. Der Entwickler muss die geänderten Dateien stagen, damit sie im Commit enthalten sind. Der Staging-Bereich enthält alle Änderungen, die im nächsten Commit eingeschlossen werden sollen. Sobald der Entwickler mit den mehrstufigen Dateien zufrieden ist, werden die Dateien als Commit mit einer Meldung verpackt, die beschreibt, was sich geändert hat. Dieser Commit wird Teil der Entwicklungsgeschichte.
Mithilfe von Staging können Entwickler auswählen, welche Dateiänderungen in einem Commit gespeichert werden sollen, um große Änderungen in eine Reihe kleinerer Commits aufzuteilen. Durch die Verringerung des Umfangs von Commits ist es einfacher, den Commit-Verlauf zu überprüfen, um bestimmte Dateiänderungen zu finden.
Vorteile von Git
Die Vorteile von Git sind viele.
Gleichzeitige Entwicklung
Jeder hat eine eigene lokale Codekopie und kann gleichzeitig in eigenen Branches arbeiten. Git funktioniert offline, da fast jeder Vorgang lokal ist.
Schnellere Freigaben
Zweige ermöglichen eine flexible und gleichzeitige Entwicklung. Der Hauptzweig enthält stabilen, qualitativ hochwertigen Code, von dem Sie veröffentlichen. Feature-Verzweigungen enthalten laufende Arbeiten, die nach Abschluss mit der Hauptzweigung zusammengeführt werden. Durch die Trennung des Release Branchs von der Entwicklung in Bearbeitung ist es einfacher, stabilen Code zu verwalten und Updates schneller zu versenden.
Integrierte Integration
Aufgrund seiner Beliebtheit integriert Git in die meisten Tools und Produkte. Jede wichtige IDE verfügt über integrierte Git-Unterstützung, und viele Tools unterstützen kontinuierliche Integration, kontinuierliche Bereitstellung, automatisierte Tests, Nachverfolgen von Arbeitsaufgaben, Metriken und Berichtsfeature-Integration in Git. Diese Integration vereinfacht den täglichen Workflow.
Starke Community-Unterstützung
Git ist Open Source und wurde zum de facto Standard für die Versionssteuerung. Es gibt keinen Mangel an Tools und Ressourcen, die Teams nutzen können. Das Volumen der Community-Unterstützung für Git im Vergleich zu anderen Versionskontrollsystemen macht es einfach, Hilfe bei Bedarf zu erhalten.
Git arbeitet mit jedem Team
Die Verwendung von Git mit einem Quellcodeverwaltungstool erhöht die Produktivität eines Teams durch Förderung der Zusammenarbeit, Erzwingen von Richtlinien, Automatisieren von Prozessen und Verbessern der Sichtbarkeit und Rückverfolgbarkeit von Arbeiten. Das Team kann einzelne Tools für die Versionsverwaltung, die Nachverfolgung von Arbeitsaufgaben und die kontinuierliche Integration und Bereitstellung festlegen. Oder sie können eine Lösung wie GitHub oder Azure DevOps auswählen, die alle diese Aufgaben an einem zentralen Ort unterstützt.
Pull Requests
Verwenden Sie Pull-Requests, um Codeänderungen mit dem Team zu besprechen, bevor Sie sie in den Main-Branch zusammenführen. Die Diskussionen in Pull-Anfragen sind von unschätzbarem Wert, um die Codequalität sicherzustellen und das Wissen in Ihrem Team zu steigern. Plattformen wie GitHub und Azure DevOps bieten eine umfassende Pull-Anforderungsumgebung, in der Entwickler Dateiänderungen durchsuchen, Kommentare hinterlassen, Commits prüfen, Builds anzeigen und abstimmen können, um den Code zu genehmigen.
Branchrichtlinien
Teams kann GitHub und Azure DevOps konfigurieren, um konsistente Workflows und Prozesse im gesamten Team zu erzwingen. Sie können Verzweigungsrichtlinien einrichten, um sicherzustellen, dass Pullanforderungen die Anforderungen vor Abschluss erfüllen. Branch-Richtlinien schützen wichtige Branches, indem direkte Pushs verhindert werden, Prüfer erforderlich gemacht werden und saubere Builds gewährleistet sind.