Definition „Git SCM“

Was ist Git?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Git bietet unter anderem die Möglichkeit, ein Projekt in unterschiedliche Zweige oder Branches bzw. Forks aufzuteilen.
Git bietet unter anderem die Möglichkeit, ein Projekt in unterschiedliche Zweige oder Branches bzw. Forks aufzuteilen. (© dekzer007 - stock.adobe.com)

Git ist ein weit verbreitetes Open-Source-Tool zur verteilten Versionskontrolle von Software. Es wird sowohl in Unternehmen als auch von privaten Entwicklern weltweit genutzt und funktioniert zusammen mit verschiedensten Plattformen und IDEs.

Git ist ein kostenloses, verteiltes Versionskontrollsystem für Softwareprojekte, das in seiner ersten Version 2005 veröffentlicht wurde. Das Programm ermöglicht es mehreren Entwicklern, unabhängig von ihrem Aufenthaltsort gleichzeitig an einem Projekt zu arbeiten.

Die Versionskontrolle macht es einfach, Änderungen eigenständig und von überall aus dem Projekt hinzuzufügen, diese Änderungen zu protokollieren und nachzuvollziehen sowie zu einem späteren Zeitpunkt auf ältere Stände des Projekts zuzugreifen. Git ist plattformunabhängig und lässt sich somit in nahezu jeder Umgebung nutzen.

Dezentrale Verwaltung mit Git-Repository

Wo andere Systeme zur Versionskontrolle auf eine zentral gespeicherte Datenbank setzen, vertraut Git auf ein verteiltes System. Das bedeutet, dass jedes Mitglied eines Projektteams eine Art eigene Kopie der Projektdatenbank besitzt – das Repository. Theoretisch ist es mit Git möglich, ganz ohne eine zentrale Datenbank zu arbeiten.

Entwickler programmieren überwiegend an ihrer lokalen Kopie des Repositorys und haben die Möglichkeit, Ihre Änderungen mit allen Beteiligten auszutauschen. Außerdem verringert sich durch das Verteilen des Repositorys die Gefahr, dass Daten verloren gehen: Da viele Personen zugleich die vollständige Historie und den aktuellen Stand des Projekts als lokale Kopie besitzen, kann durch einen Serverausfall praktisch kein Schaden entstehen.

Dennoch gibt es die Option, eine zentrale Anlaufstelle einzurichten („Blessed Repository“), die von autorisierten Teammitgliedern gepflegt wird und dem Team z. B. als offizielle Referenz dient. Jeder, der am Projekt arbeiten möchte, holt sich eine Kopie dieser Version. Änderungen werden anschließend nicht allgemein verteilt, sondern an das zuständige Teammitglied zur Prüfung und Integration weitergeben.

Aufteilen und Zusammenführen unterschiedlicher Entwicklungsstände

Git bietet auch die Möglichkeit, ein Projekt in unterschiedliche Zweige oder Branches bzw. Forks aufzuteilen, um z. B. Versionen zu trennen und neue oder experimentelle Features parallel zum Hauptzweig zu entwickeln. Änderungen, die für den Endnutzer veröffentlicht werden sollen, können anschließend wieder mit der entsprechenden Projektversion zusammengeführt werden.

Git ist darauf ausgelegt, dass Teams regelmäßig Branches und Merges nutzen, um eine gut nachvollziehbare Historie des Projekts aufzubauen. Git verfügt über interne Tools, welche die Branches und Merges eines Projekts visualisieren können – so erhält jedes Teammitglied einen nachvollziehbaren Überblick über die Entwicklung des Projekts.

GitHub: Web-Interface für Git-Projekte

Git an sich ist nur ein System, um die Versionierung von Software zu steuern. Es gibt auf dem Mark verschiedenste Tools, die Git als Basis nutzen und eine Reihe von Komfortfunktionen hinzufügen, um die Verwaltung von Projekten bequemer und zugänglicher zu machen. Ein Beispiel hierfür ist die webbasierte Plattform GitHub.

Die Webanwendung macht die Inhalte von Git-Repositories transparent und online verfügbar. So wird es einfach, Änderungen und Branches mit Teammitgliedern und Nutzern auf der ganzen Welt zu teilen. Die Plattform bereitet den Entwicklungsfortschritt eines Projekts zudem grafisch und in Statistiken auf, bietet die einfache Nachverfolgung von Abhängigkeiten und gibt dem Team die Möglichkeit, ein eigenes Wiki für die Community einzurichten.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

GitHub Pages in Verbindung mit Jekyll

Freier Webspace für Entwickler

GitHub Pages in Verbindung mit Jekyll

Ein Projekt auf GitHub zu hosten, gehört heute zum Standard für Open-Source-Entwickler. Doch ein Repository allein genügt nicht, wenn das Projekt auch vorgestellt und verbreitet werden soll. Hier kommt Pages als kostenloser Webspace ins Spiel. lesen

Cloud-native Alternativen zu Jenkins

Consol testet moderne CI- und CD-Tools

Cloud-native Alternativen zu Jenkins

Beim Cloud-native Development stoßen gängige Continuous-Integration- und -Delivery-Tools an ihre Grenzen. Auf Microservice-Architekturen sind diese Werkzeuge schlicht nicht ausgerichtet, meint das Consulting-Unternehmen Consol, das einige Alternativen identifiziert hat. lesen

DevOps für Salesforce-Umgebungen

Prozessoptimierung im Cloud CRM

DevOps für Salesforce-Umgebungen

Bei der Entwicklung und dem Betrieb für Salesforce werden Unternehmen vor verschiedene Herausforderungen gestellt. Welche Herausforderungen das sind und wie DevOps bei der Optimierung des Software-Lifecycles unterstützen kann, werde ich in diesem Fachartikel erläutern. lesen

Geld mit Open Source verdienen

Quelloffene Projekte als Einnahmenquelle

Geld mit Open Source verdienen

Open-Source-Code ist qualitativ meist gleichauf mit kommerziellen Projekten. Trotzdem gibt es Firmen, die mit ihrer Software scheinbar nie auf einen grünen Zweig kommen. lesen

GitLab gibt Gas mit Multi-Cloud und Partnerschaften

Ein Jahr vor geplantem Börsengang

GitLab gibt Gas mit Multi-Cloud und Partnerschaften

Strategische Partnerschaften, mehr Sicherheit und der Support von Multi-Cloud-Deployment via Kubernetes: das waren die großen Themen der „GitLab Commit London“, einer Anwenderkonferenz für DevOps-Spezialisten. lesen

Google Summer of Code – Ergebnisse veröffentlicht

Studentische Open-Source-Projekte

Google Summer of Code – Ergebnisse veröffentlicht

Der 15. Google Summer of Code, kurz SoC, ist abgeschlossen und die finalen Ergebnisse liegen vor. Auch dieses Jahr muss das Projekt wieder als Erfolg gelten, wie ein Streifzug durch die Projekte zeigt. lesen

Was ist Bitbucket?

Definition „Atlassian Bitbucket“

Was ist Bitbucket?

Mit Bitbucket können kleine und große Teams ihre Softwareprojekte kollaborativ verwalten. Das von Atlassian entwickelte Tool unterstützt Git und Mercurial für die Versionskontrolle. lesen

Software-Dokumentation in der Praxis

Alltag eines Handbuch-Schreibers

Software-Dokumentation in der Praxis

Für den Job eines Autors genügen meist ein Texteditor, ein Browser und ein Screenshot-Tool. Der Workflow beschränkt sich auf E-Mails und ein paar Ideen zum Inhalt wären auch nicht schlecht. Aber Dokumentation? Das Schreiben eines Handbuchs für eine komplexe Software? Da kann ich Ihnen ganz andere Geschichten erzählen. lesen

Azure DevOps CI/CD in der Praxis

Artikelreihe zu Windows Desktop Apps

Azure DevOps CI/CD in der Praxis

Eine ganze Artikelreihe zu Azure DevOps CI/CD für Windows Desktop Apps veröffentlicht aktuell Stefan Köll, von Microsoft mehrfach als „Most Valuable Professional“ geadelt. Im ersten Beitrag zeigt der Entwickler, wie er seine CI/CD-Pipeline nach Azure DevOps verlagert hat. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46052454 / Definitionen)