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

Git feiert im April seinen 15. Geburtstag

Jubiläum der Versionsverwaltung

Git feiert im April seinen 15. Geburtstag

Am 7. April feiert die quelloffene Versionsverwaltung namens Git ihren 15. Geburtstag. Damals hob sie Linux-Urgestein Linus Torvalds auf der Taufe – wenngleich nicht ganz freiwillig. lesen

Git per Emacs ansteuern und verwalten

Integration von Code-Editoren und SCM, Teil 2

Git per Emacs ansteuern und verwalten

Emacs ist neben Vim immer noch einer der beliebtesten Editoren bei Entwicklern – und Git die unangefochtene Nummer 1 bei Versionsverwaltungen. Und natürlich lässt sich direkt in Emacs mit Git-Repositories arbeiten – nativ oder komfortabler mit dem Add-on Magit. lesen

Erste Schritte mit Git und GitHub

Effektive Zusammenarbeit im Development-Team

Erste Schritte mit Git und GitHub

Git ist seit Jahren eines der bekanntesten Versionskontrollsysteme für Entwickler. Mit der Lösung können Teams gemeinsam an Projekten arbeiten und Quellcode-Versionen effektiv verwalten, auch in Kombination mit GitHub. lesen

11 Gründe für die Einführung von GitOps

Continuous Deployments für Cloud-Native-Infrastrukturen

11 Gründe für die Einführung von GitOps

GitOps ist für alle in greifbare Nähe gerückt: Denn mit Kubernetes lassen sich Deployments von Anwendungen und Infrastruktur-Komponenten rein über deklarative Konfigurationsdateien verwalten, die in einem Git-Repository liegen. Aber was spricht eigentlich für diesen Ansatz? lesen

Open-Source-Entwicklung für Apple-Geräte

Apps für iOS, macOS, Apple TV und Apple Watch

Open-Source-Entwicklung für Apple-Geräte

Ob iPhone, iPad oder Apple Watch, Mac, Macbook oder Apple TV: Apps für Geräte aus Cupertino lassen sich durchaus mit quelloffenen Lösungen programmieren und bereitstellen. Diese bieten in vielen Fällen den gleichen Funktionsumfang wie kommerzielle Produkte und sind häufig auch weiter verbreitet. lesen

Makrotrends in der Technologiebranche 2020

Randthemen aus dem ThoughtWorks Technology Radar

Makrotrends in der Technologiebranche 2020

Bei der Erstellung des Technology Radars führen wir auch immer wieder interessante Gespräche über zahlreiche Themen, die wir nicht aufnehmen können. Also, was tut sich gerade in der Welt der Software? lesen

Welche Entwickler-Plattformen in der Cloud gibt es?

Marktübersicht zu Cloud Native Development

Welche Entwickler-Plattformen in der Cloud gibt es?

Vor der Cloud-Native-Entwicklung steht die Auswahl einer entsprechenden Plattform. Neben den großen Playern Amazon, Google und Microsoft gibt es eine Reihe Alternativen, die durchaus einen Blick wert sind. lesen

Git in Vim einbinden und nutzen

Integration von Code-Editoren und SCM, Teil 1

Git in Vim einbinden und nutzen

Es gibt Dutzende guter Code-Editoren, aber mit Ausnahme von Emacs ist kaum einer so etabliert wie Vim. Auch Git ist allgegenwärtig und da lohnt es sich, Vim ein wenig zu pimpen. Mit ein paar Basics und einigen Plug-ins wie Vim-Fugitive bekommen Sie Ihre persönliche IDE. lesen

AWS Toolkit für Visual Studio einrichten

ASP.NET-Apps auf AWS Elastic Beanstalk migrieren, Teil 2

AWS Toolkit für Visual Studio einrichten

Elastic Beanstalk bietet eine komplett von AWS verwaltete .NET-Plattform für das Deployment sowie die Skalierung und Aktualisierung von Anwendungen. Wie man das AWS Toolkit für Visual Studio einrichtet, zeigen wir im zweiten Teil dieser Serie. 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)