<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Git</id>
	<title>Git - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Git"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Git&amp;action=history"/>
	<updated>2026-05-27T23:17:12Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Git&amp;diff=313554&amp;oldid=prev</id>
		<title>~2025-32336-01: Deppenleerzeichen entfernen</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Git&amp;diff=313554&amp;oldid=prev"/>
		<updated>2025-11-09T16:33:27Z</updated>

		<summary type="html">&lt;p&gt;Deppenleerzeichen entfernen&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Dieser Artikel|behandelt die Versionsverwaltungssoftware. Zu weiteren Bedeutungen siehe [[GIT]].}}&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
|Logo                 = [[Datei:Git-logo.svg|150px|Logo]]&lt;br /&gt;
|Hersteller           = Junio Hamano, Shawn Pearce, Linus Torvalds &amp;lt;span title=&amp;quot;und viele andere&amp;quot;&amp;gt;{{nowrap|u.&amp;amp;thinsp;v.&amp;amp;thinsp;a.}}&amp;lt;/span&amp;gt;&lt;br /&gt;
|Erscheinungsjahr     = 2005&lt;br /&gt;
|AktuelleVersion      = &amp;lt;!--von Wikidata--&amp;gt;&lt;br /&gt;
|AktuelleVersionFreigabeDatum = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
|Betriebssystem       = [[Linux]], [[FreeBSD]], [[macOS]], [[Solaris (Betriebssystem)|Solaris]] &amp;lt;span title=&amp;quot;und andere&amp;quot;&amp;gt;{{nowrap|u.&amp;amp;thinsp;a.}}&amp;lt;/span&amp;gt; [[Unixoides System|unixoide]]; [[Microsoft Windows|Windows]]; [[Haiku (Betriebssystem)|Haiku]];&amp;amp;nbsp;…&lt;br /&gt;
|Programmiersprache   = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
|Kategorie            = [[Versionsverwaltung]]&lt;br /&gt;
|Lizenz               = &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
|Deutsch              = ja&lt;br /&gt;
|Website              = [https://git-scm.com/ git-scm.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Git&amp;#039;&amp;#039;&amp;#039; [{{IPA|ɡɪt}}] ist eine [[freie Software]] zur [[Versionsverwaltung#Verteilte Versionsverwaltung|verteilten Versionsverwaltung]] von [[Datei]]en, die durch [[Linus Torvalds]] initiiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Durch eine Lizenzänderung des bis dahin genutzten proprietären [[BitKeeper]]-Systems konnten die [[Linux]]-[[Kernel (Betriebssystem)|Kernel]]-Entwickler dieses nicht mehr kostenlos verwenden, und somit blieb vielen Entwicklern der Zugang verwehrt. Daher begann Torvalds im April 2005 mit der Entwicklung einer neuen Quellcode-Management-Software und präsentierte bereits wenige Tage nach deren Ankündigung eine erste Version.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Git-logo-2007.svg|mini|hochkant=0.5|Altes Logo]]&lt;br /&gt;
&lt;br /&gt;
Torvalds wünschte sich ein verteiltes System, das wie BitKeeper genutzt werden kann und die folgenden Anforderungen erfüllt:&lt;br /&gt;
# Unterstützung verteilter, BitKeeper-ähnlicher Arbeitsabläufe&lt;br /&gt;
# Sehr hohe Sicherheit gegen sowohl unbeabsichtigte als auch böswillige Verfälschung&lt;br /&gt;
# Hohe Effizienz&lt;br /&gt;
&lt;br /&gt;
Ein bereits existierendes Projekt namens [[Monotone]] entsprach den ersten beiden Anforderungen,&amp;lt;ref name=&amp;quot;kernelsaga&amp;quot;&amp;gt;{{Internetquelle |autor=Linus Torvalds |url=https://lkml.org/lkml/2005/4/6/121 |titel=Kernel SCM saga.. |werk=Linux-Kernel Archive |datum=2005-04-06 |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt; das dritte Kriterium wurde jedoch von keinem bestehenden System erfüllt.&lt;br /&gt;
&lt;br /&gt;
Torvalds entschied sich dagegen, Monotone an seine Anforderungen anzupassen und begann stattdessen, ein eigenes System zu entwickeln. Einer der Hauptgründe für diesen Schritt war die Arbeitsweise, für die Monotone nach Torvalds Ansicht optimiert ist. Torvalds argumentierte, dass einzelne Revisionen von einem anderen Entwickler in den eigenen Entwicklungszweig zu importieren zu Rosinenpickerei und unordentlichen [[Repository|Repositorien]] führen würde. Wenn hingegen immer ganze Zweige importiert werden, wären Entwickler gezwungen, diese aufzuräumen. Dazu sei es notwendig, auch die Möglichkeit von Wegwerf-Zweigen anzubieten.&lt;br /&gt;
&lt;br /&gt;
{{Zitat&lt;br /&gt;
 |Text=This is my only real conceptual gripe with ‘monotone’. I like the model, but they make it much harder than it should be to have throw-away trees due to the fact that they seem to be working on the assumption of ‘one database per developer’ rather than ‘one database per tree’. You don’t have to follow that model, but it seems to be what the setup is geared for, and together with their ‘branches’ it means that I think a monotone database easily gets very cruddy. The other problem with monotone is just performance right now, but that’s hopefully not &amp;#039;&amp;#039;too&amp;#039;&amp;#039; fundamental.&lt;br /&gt;
 |Sprache=en&lt;br /&gt;
 |Autor=Linus Torvalds&lt;br /&gt;
 |Quelle=&lt;br /&gt;
 |Übersetzung=Ich habe nur ein wirkliches konzeptionelles Problem mit ‚monotone‘: Ich mag die Arbeitsweise, aber sie erschwert die Nutzung von Wegwerf-Bäumen, weil das Konzept anscheinend auf der Annahme ‚eine Datenbank je Entwickler‘ statt ‚eine Datenbank je Baum‘ basiert. Man braucht zwar nicht diesem Modell zu folgen, aber die System-Einrichtung scheint darauf ausgerichtet zu sein. Zusammen mit ihren ‚Zweigen‘ befürchte ich ein schnelles Verdrecken der monotone-Datenbank. Ein anderes, hoffentlich nicht &amp;#039;&amp;#039;zu&amp;#039;&amp;#039; grundlegendes Problem, ist die derzeitige Leistungsfähigkeit von monotone.&lt;br /&gt;
 |ref=&amp;lt;ref name=&amp;quot;kernelsaga&amp;quot; /&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Gits Gestaltung verwendet einige Ideen aus Monotone sowie BitKeeper, aber keinen Quellcode daraus. Es sollte ausdrücklich ein eigenständiges Versionsverwaltungssystem sein.&lt;br /&gt;
&lt;br /&gt;
Derzeitiger [[Maintainer]] von Git ist Junio Hamano.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Alexander Neumann |url=https://heise.de/-2596654 |titel=Vor 10 Jahren: Linus Torvalds baut Git |werk=[[Heise online]] |datum=2015-04-08 |abruf=2018-08-05}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Name ===&lt;br /&gt;
Der Name „Git“ bedeutet in der britischen Umgangssprache so viel wie „Blödmann“. Linus Torvalds erklärte seine Wahl des ungewöhnlichen Namens mit einem Witz sowie damit, dass das Wort praktikabel und in der Softwarewelt noch weitgehend unbenutzt war:&lt;br /&gt;
&lt;br /&gt;
{{Zitat&lt;br /&gt;
 |Text=I’m an egotistical&amp;lt;!--So richtig; vgl. Einzelnachweis. --&amp;gt; bastard, and I name all my projects after myself. First ‘Linux’, now ‘Git’.&lt;br /&gt;
 |Sprache=en&lt;br /&gt;
 |Autor=Linus Torvalds&lt;br /&gt;
 |Übersetzung=Ich bin ein [[Egotismus|egotistischer]] Mistkerl, und ich benenne all meine Projekte nach mir. Zuerst ‚Linux‘, jetzt eben ‚Git‘.&lt;br /&gt;
 |ref=&amp;lt;ref name=&amp;quot;gitwiki-why-git&amp;quot;&amp;gt;{{Internetquelle |url=https://git.wiki.kernel.org/index.php/GitFaq#Why_the_.27Git.27_name.3F |titel=Git FAQ: Why the &amp;#039;Git&amp;#039; name? |datum=2013-03-09 |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{Zitat&lt;br /&gt;
 |Text=The joke ‘I name all my projects for myself, first Linux, then git’ was just too good to pass up. But it is also short, easy-to-say, and type on a standard keyboard. And reasonably unique and not any standard command, which is unusual.&lt;br /&gt;
 |Sprache=en&lt;br /&gt;
 |Autor=Linus Torvalds&lt;br /&gt;
 |Übersetzung=Der Witz ‚Ich benenne alle meine Projekte nach mir, zuerst Linux, jetzt Git‘ war einfach zu gut, um ihn nicht zu machen. Aber es (der Befehl) ist auch kurz, einfach auszusprechen und auf einer Standardtastatur zu schreiben, dazu einigermaßen einzigartig und kein Standardkommando – was ungewöhnlich ist.&lt;br /&gt;
 |ref= &amp;lt;ref name=&amp;quot;wired-201202-github&amp;quot;&amp;gt;{{Internetquelle |autor=Robert McMillan |url=https://www.wired.com/2012/02/github-2/ |titel=Lord of the Files: How GitHub Tamed Free Software (And More) |werk=[[Wired]] |datum=2012-02-21 |sprache=en |abruf=2018-08-06}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Der Name &amp;#039;&amp;#039;Linux&amp;#039;&amp;#039; wurde anfangs nicht von Torvalds selbst propagiert und nur widerwillig akzeptiert.&amp;lt;!-- ohne diesen Hinweis ist der Witz doch nicht witzig.--&amp;gt;&amp;lt;ref&amp;gt;Siehe dazu [[Geschichte von Linux #Der Name Linux]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
[[Datei:Git operations.svg|mini|Datenfluss]]&lt;br /&gt;
Git ist ein [[Verteiltes System|verteiltes]] Versionsverwaltungssystem, das sich in einigen Eigenschaften von typischen Versionsverwaltungssystemen unterscheidet:&lt;br /&gt;
&lt;br /&gt;
=== Nicht-lineare Entwicklung ===&lt;br /&gt;
[[Datei:Git log color.png|mini|Entwicklungsgeschichte mit extensiv genutztem Branching und Merging]]&lt;br /&gt;
Sowohl das Erstellen neuer Entwicklungszweige (&amp;#039;&amp;#039;branching&amp;#039;&amp;#039;) als auch das Verschmelzen zweier oder mehrerer Zweige (&amp;#039;&amp;#039;merging&amp;#039;&amp;#039;) sind integrale Bestandteile der Arbeit mit Git und fest in die Git-Werkzeuge eingebaut.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#repositories-and-branches |titel=Chapter 1. Repositories and Branches |werk=Git User’s Manual |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt; Git enthält Programme, mit deren Hilfe sich die nicht-lineare Geschichte eines Projektes einfach visualisieren lässt und mit deren Hilfe man in dieser Geschichte navigieren kann. Verzweigungen („branches“) in Git sind (im Gegensatz zu anderen [[Software-Configuration-Management|SCMs]]) sehr effektiv implementiert: Ein Branch stellt nur eine &amp;#039;&amp;#039;Reference&amp;#039;&amp;#039;, kurz &amp;#039;&amp;#039;ref&amp;#039;&amp;#039;, eine Textdatei mit einer Commit-ID, dar, die in einem Repository im Verzeichnis &amp;lt;code&amp;gt;.git/refs/heads&amp;lt;/code&amp;gt; (z.&amp;amp;nbsp;B. &amp;lt;code&amp;gt;.git/refs/heads/master&amp;lt;/code&amp;gt; für den &amp;#039;&amp;#039;master&amp;#039;&amp;#039;-Branch) liegt und auf einen bestimmten [[Commit]] verweist. Über dessen &amp;#039;&amp;#039;Parental Commits&amp;#039;&amp;#039;, also Eltern-Commits, lässt sich die Branch-Struktur rekonstruieren. Durch diese Eigenschaften lassen sich weiterhin sehr große und effiziente Entwicklungsstrukturen wie bei Git selbst oder dem Linux-Kernel realisieren, bei denen jedes Feature und jeder Entwickler einen Branch oder ein eigenes Repository haben, aus dem der Projektverantwortliche („maintainer“) dann Commits über Merge oder Cherry-pick (Nutzen einzelner Commits) in den Hauptzweig des Projekts (master) übernehmen kann.&lt;br /&gt;
&lt;br /&gt;
=== Kein zentraler Server ===&lt;br /&gt;
[[Datei:SVNvsGITServer 2.png|mini|Dezentrale Verwaltung des gesamten [[Repository|Repositories]] mit Hilfe von Git]]&lt;br /&gt;
Jeder Benutzer besitzt eine lokale Kopie des gesamten Repositorys inklusive der Versionsgeschichte (&amp;#039;&amp;#039;history&amp;#039;&amp;#039;). So können die meisten Aktionen lokal und ohne Netzwerkzugriff ausgeführt werden. Es wird nicht zwischen lokalen Entwicklungszweigen und Entwicklungszweigen entfernter Repositorien unterschieden. Obwohl es keinen technischen Unterschied zwischen verschiedenen Repositorien gibt (außer dem zwischen &amp;#039;&amp;#039;normalen&amp;#039;&amp;#039; und &amp;#039;&amp;#039;bare&amp;#039;&amp;#039;-Repositories auf Servern, bei denen kein &amp;#039;&amp;#039;Working-Tree&amp;#039;&amp;#039;, also die echten Dateien existiert), gilt die Kopie, auf die von einer Projekt-Homepage aus verwiesen wird, häufig als das offizielle Repositorium, in das die Revisionen der Entwickler übertragen werden. Es existieren spezielle &amp;#039;&amp;#039;Remote-tracking branches&amp;#039;&amp;#039;. Das sind Referenzen (siehe &amp;#039;&amp;#039;Nicht-lineare Entwicklung&amp;#039;&amp;#039;), die auf den Stand eines anderen Repositoriums zeigen.&lt;br /&gt;
&lt;br /&gt;
=== Datentransfer zwischen Repositorien ===&lt;br /&gt;
Daten können neben dem Übertragen auf Dateisystemebene (&amp;lt;code&amp;gt;file://&amp;lt;/code&amp;gt;) mit unterschiedlichen Netzwerkprotokollen zwischen Repositories übertragen werden. Git hat ein eigenes, sehr effizientes Protokoll, das den [[Transmission Control Protocol|TCP]]-Port 9418 nutzt (&amp;lt;code&amp;gt;git://&amp;lt;/code&amp;gt;), welcher allerdings nur zum &amp;#039;&amp;#039;Fetchen&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Clonen&amp;#039;&amp;#039; genutzt werden kann, also dem Lesen eines Repositorys. Ebenso kann der Transfer über [[Secure Shell|SSH]] (&amp;lt;code&amp;gt;ssh://&amp;lt;/code&amp;gt;, das gängigste Protokoll für Schreiboperationen), [[Hypertext Transfer Protocol|HTTP]] (&amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt;), [[Hypertext Transfer Protocol Secure|HTTPS]] (&amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt;) oder über (weniger effizient) [[File Transfer Protocol|FTP]] (&amp;lt;code&amp;gt;ftp://&amp;lt;/code&amp;gt;) oder [[rsync]] (&amp;lt;code&amp;gt;rsync://&amp;lt;/code&amp;gt;) erfolgen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#exporting-via-http |titel=Exporting a git repository via http |werk=Git User’s Manual |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt; Die Übertragung in das offizielle Repository eines Projekts erfolgt häufig in Form von [[Patch (Software)|Patches]], die via [[E-Mail]] an den Entwickler oder eine Entwicklungs-[[Mailing-Liste]] geschickt werden. Alternativ kann auch ein Review-System wie [[Gerrit (Software)|Gerrit]] verwendet werden.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submitting-patches |titel=Submitting patches to a project |werk=Git User’s Manual |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt; Für Projekte, die auf Websites wie [[GitHub]] oder [[Bitbucket]] gespeichert („[[hosting]]“) werden, kann eine Änderung einfach durch das &amp;#039;&amp;#039;Pushen&amp;#039;&amp;#039; eines Branches [[Pull Request|vorgeschlagen]] werden, der dann bei Bedarf durch ein &amp;#039;&amp;#039;Merge&amp;#039;&amp;#039; in das Projekt integriert wird.&lt;br /&gt;
&lt;br /&gt;
=== Kryptographische Sicherheit der Projekthistorie ===&lt;br /&gt;
[[Datei:Git checksum fail.png|mini|Beschädigtes Objekt]]&lt;br /&gt;
Die Historie eines Projektes wird so gespeichert, dass der [[Kryptologische Hashfunktion|Hash-Wert]] einer beliebigen Revision &amp;#039;&amp;#039;(commit)&amp;#039;&amp;#039; auf der vollständigen Historie basiert, die zu dieser Revision geführt hat. Dadurch ist es nicht möglich, die Versionsgeschichte nachträglich zu manipulieren, ohne dass sich der Hash-Wert der Revision ändert. In der Kryptographie nennt man dies einen [[Hash-Baum]]. Einzelne Revisionen können zusätzlich markiert &amp;#039;&amp;#039;(tagging)&amp;#039;&amp;#039; und optional mit [[GNU Privacy Guard|GPG]] digital signiert werden &amp;#039;&amp;#039;(signed tag)&amp;#039;&amp;#039;, beispielsweise um den Zustand zum Zeitpunkt der Veröffentlichung einer neuen Version der Software zu kennzeichnen.&lt;br /&gt;
&lt;br /&gt;
=== Speichersystem und Dateiversionierung ===&lt;br /&gt;
Es gibt Versionsverwaltungssysteme (beispielsweise [[Concurrent Versions System|CVS]]), die für jede Datei (und jedes Verzeichnis) eigene, von allen anderen Dateien unabhängige Revisionsnummern verwalten. Für eine Datei wird nur dann eine neue Nummer erzeugt, wenn die jeweilige Datei Teil einer [[Commit]]-Operation ist. Im Gegensatz dazu weist Git bei jedem Commit allen im Repository verwalteten Dateien (und Verzeichnissen) eine neue, für alle Dateien gleiche Revisionsnummer zu. Das Abspeichern selbst erfolgt, indem im Commit-Objekt ein Verweis auf die Projektwurzel als &amp;#039;&amp;#039;tree&amp;#039;&amp;#039;-Objekt gespeichert wird, das wiederum Verweise auf &amp;#039;&amp;#039;blobs&amp;#039;&amp;#039; (&amp;#039;&amp;#039;binary large objects&amp;#039;&amp;#039;, die reinen Inhalte der Dateien ohne Identifizierung) und weitere &amp;#039;&amp;#039;trees&amp;#039;&amp;#039; (Verzeichnisse) enthält. Ein &amp;#039;&amp;#039;tree&amp;#039;&amp;#039;-Objekt verweist (wie ein Verzeichnis-[[Inode]]) mit seinen Einträgen auf [[SHA1]]-Prüfsummen, die weitere &amp;#039;&amp;#039;trees&amp;#039;&amp;#039; und &amp;#039;&amp;#039;blobs&amp;#039;&amp;#039; identifizieren, ähnlich Inode-Nummern in Dateisystemen. Wenn eine Datei in einem Commit nicht geändert wird, ändert sich auch die Checksumme nicht, und sie braucht nicht nochmals gespeichert zu werden. Die Objekte liegen im Projekt unter &amp;lt;code&amp;gt;.git/objects&amp;lt;/code&amp;gt;. Über Git-„Bordmittel“ lässt sich jeder beliebige Commit über den zugeordneten Hash-Wert (die Prüfsumme) eindeutig identifizieren, separat auslesen, verschmelzen oder gar als Abzweigungspunkt nutzen – vergleichbar mit den Revisionsnummern in anderen Systemen.&lt;br /&gt;
&lt;br /&gt;
=== Säubern des Repositorys ===&lt;br /&gt;
Die Daten gelöschter und zurückgenommener Aktionen und Entwicklungszweige bleiben vorhanden (und können wiederhergestellt werden), bis sie explizit gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
=== Interoperabilität ===&lt;br /&gt;
Es gibt Hilfsprogramme, die Interoperabilität zwischen Git und anderen Versionskontrollsystemen herstellen. Solche Hilfsprogramme existieren unter anderem für [[GNU arch]] &amp;#039;&amp;#039;(git-archimport)&amp;#039;&amp;#039;, [[Concurrent Versions System|CVS]] &amp;#039;&amp;#039;(git-cvsexportcommit&amp;#039;&amp;#039;, &amp;#039;&amp;#039;git-cvsimport&amp;#039;&amp;#039; und &amp;#039;&amp;#039;git-cvsserver)&amp;#039;&amp;#039;, [[Darcs]] (&amp;#039;&amp;#039;darcs-fastconvert&amp;#039;&amp;#039;, &amp;#039;&amp;#039;darcs2git&amp;#039;&amp;#039; und andere), Quilt &amp;#039;&amp;#039;(git-quiltimport)&amp;#039;&amp;#039; und [[Apache Subversion|Subversion]] &amp;#039;&amp;#039;(git-svn)&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Git wird für die Entwicklung vieler Projekte, sowohl kommerziell als auch im Open-Source-Bereich, oft auf [[Softwareentwicklungsplattform]]en eingesetzt. So wird Git zur Versionsverwaltung des [[Linux (Kernel)|Linux-Kernels]] oder nach der Umstellung Microsofts auf Git 2017 von [[Microsoft Windows]] verwendet.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Rainald Menge-Sonnentag |url=https://heise.de/-3810273 |titel=Microsoft nutzt ab sofort Git zur Windows-Entwicklung |hrsg=[[Heise online]] |datum=2017-08-23 |abruf=2018-08-05}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Laut [[Open Hub]] verwendeten im Juni 2025 rund 80 % aller dort registrierten Softwareprojekte Git.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://openhub.net/repositories/compare|titel=Compare Repositories – Open Hub |hrsg=Open Hub |sprache=en |abruf=2025-06-22}}&amp;lt;/ref&amp;gt; Damit dominiert Git mit großem Abstand zu dem nächstplatzierten [[Apache Subversion|Subversion]], das 17 % erreicht.&lt;br /&gt;
&lt;br /&gt;
=== Verwaltung von Inhalt ===&lt;br /&gt;
Obwohl Git primär zur [[Versionsverwaltung]] von Quellcode entwickelt wurde, wird es auch zum Speichern von flach strukturierten (im Gegensatz zu [[Relationale Datenbank|relationalen Strukturen]]) [[Datensatz|Datensätzen]] direkt als [[Datei]] genutzt. So können Funktionen wie Versionsverwaltung, [[Hook (Informatik)|Hook]], [[diff]], [[Replikation (Datenverarbeitung)|Replikation]] und Offline-Nutzung auch für Inhalte ohne [[Datenbank]] genutzt werden.&amp;lt;ref name=&amp;quot;git-the-nosql-database&amp;quot;&amp;gt;{{Internetquelle |autor=Brandon Keepers |url=https://speakerdeck.com/bkeepers/git-the-nosql-database |titel=Git: the NoSQL Database |datum=2012-04-21 |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt; Die Nutzung ist ähnlich zu [[NoSQL]], auch wenn Git keine [[Indexstruktur]], [[Abfragesprache|Abfrage]] oder Gleichzeitigkeit erlaubt.&lt;br /&gt;
&lt;br /&gt;
Der Einsatz erstreckt sich auch auf inhaltlich einfach strukturierte Systeme wie [[Content-Management-System|CMS]]&amp;lt;ref name=&amp;quot;git-the-nosql-database&amp;quot; /&amp;gt; oder [[Wiki]]s.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Adam Feber |url=https://blog.assembla.com/assemblablog/tabid/12618/bid/104945/How-we-Moved-2-3-Million-Wiki-Pages-to-Git.aspx |titel=How we Moved 2.3 Million Wiki Pages to Git |datum=2014-02-04 |sprache=en |offline=1 |archiv-url=https://web.archive.org/web/20160810174028/https://blog.assembla.com/AssemblaBlog/tabid/12618/bid/104945/How-we-Moved-2-3-Million-Wiki-Pages-to-Git.aspx |archiv-datum=2016-08-10 |abruf=2019-02-03}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=https://github.com/gollum/gollum#gollum----a-git-based-wiki |titel=gollum – A git-based Wiki |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Betriebssysteme ==&lt;br /&gt;
&lt;br /&gt;
=== Unix/Linux ===&lt;br /&gt;
Git läuft auf fast allen modernen [[Unixoides System|unixartigen Systemen]] wie [[Linux]], [[Solaris (Betriebssystem)|Solaris]], [[macOS]], [[FreeBSD]], [[DragonFly BSD]], [[NetBSD]], [[OpenBSD]], [[AIX]], [[IRIX]].&lt;br /&gt;
&lt;br /&gt;
[[Apple]] liefert macOS mit einer leicht abgewandelten Git-Version aus. Hauptsächlich wird diese verwendet, um die Kompatibilität mit Apples Entwicklungsumgebung [[Xcode]] zu erhöhen.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://stackoverflow.com/questions/35481011/are-there-any-differences-with-the-git-provided-by-apple-and-the-official-git |titel=Are there any differences with the git provided by Apple and the official git? |sprache=en |abruf=2019-04-18}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
Es gibt mehrere Portierungen von Git für Microsoft Windows:&lt;br /&gt;
&lt;br /&gt;
* Git for Windows,&amp;lt;ref&amp;gt;{{Internetquelle |autor=Alexander Neumann |url=https://heise.de/-2785765 |titel=Git for Windows verlässt Preview-Status |hrsg=[[Heise online]] |datum=2015-08-19 |abruf=2018-08-05}}&amp;lt;/ref&amp;gt; die Portierung des Git-Projektes (früher entwickelt unter dem Namen &amp;#039;&amp;#039;msysGit&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{Internetquelle |url=https://github.com/msysgit/msysgit/wiki/Relationship-to-Git-for-Windows |titel=Relationship to Git for Windows |sprache=en |abruf=2018-08-05}}&amp;lt;/ref&amp;gt;). Kann durch das Modul posh-git auch via [[PowerShell]] genutzt werden.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://git-scm.com/book/de/v2/Anhang-A:-Git-in-anderen-Umgebungen-Git-in-PowerShell |titel=Git - Git in PowerShell |abruf=2024-03-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Die [[Cygwin]]-Umgebung enthält Git.&lt;br /&gt;
&lt;br /&gt;
[[TortoiseGit]] ist eine Erweiterung für den [[Windows-Explorer]] (&amp;#039;&amp;#039;Windows Shell Extension&amp;#039;&amp;#039;), so dass man Git unter Windows auch ohne [[Kommandozeile]] verwenden kann. TortoiseGit benötigt zusätzlich eine Git-Installation, normalerweise &amp;#039;&amp;#039;Git for Windows&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://tortoisegit.org/support/faq/#prerequisites |titel=Frequently asked questions (FAQ) |titelerg=What are the system prerequisites of TortoiseGit? |werk=tortoisegit.org |sprache=en |abruf=2019-04-26}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interface ==&lt;br /&gt;
[[Datei:Gitweb.png|mini|Gitweb mit den Unterschieden zwischen zwei [[Commit]]s]]&lt;br /&gt;
Gitweb, in Perl geschrieben, war eine der ersten Weboberflächen für git. Inzwischen haben sich [[Softwareentwicklungsplattform]]en verbreitet, die eine Weboberfläche für git bieten. Viele [[integrierte Entwicklungsumgebung]]en verfügen ebenfalls über eine git-Integration, es existieren allerdings auch zahlreiche reine [[Liste von Git-GUIs|Git-GUIs]].&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Valentin Haenel, Julius Plenz&lt;br /&gt;
   |Titel=Git – Verteilte Versionsverwaltung für Code und Dokumente&lt;br /&gt;
   |Verlag=Open Source Press&lt;br /&gt;
   |Ort=München&lt;br /&gt;
   |Datum=2011&lt;br /&gt;
   |ISBN=978-3-941841-42-0&lt;br /&gt;
   |Online=[http://gitbu.ch/ Online-Version]}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Jon Loeliger, Matthew McCullough&lt;br /&gt;
   |Titel=Version Control with Git&lt;br /&gt;
   |Auflage=2.&lt;br /&gt;
   |Verlag=O’Reilly Media&lt;br /&gt;
   |Ort=Sebastopol&lt;br /&gt;
   |Datum=2012&lt;br /&gt;
   |ISBN=978-1-4493-1638-9}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Scott Chacon&lt;br /&gt;
   |Titel=Pro Git&lt;br /&gt;
   |Verlag=APress&lt;br /&gt;
   |Ort=New York&lt;br /&gt;
   |Datum=2014&lt;br /&gt;
   |ISBN=978-1-4842-0077-3&lt;br /&gt;
   |Online=[https://git-scm.com/book/en/v2 E-Book]}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Sujeevan Vijayakumaran&lt;br /&gt;
   |Titel=Git Schnelleinstieg&lt;br /&gt;
   |Verlag=mitp&lt;br /&gt;
   |Ort=Frechen&lt;br /&gt;
   |Datum=2022&lt;br /&gt;
   |ISBN=978-3-7475-0526-7}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Nina Siessegger&lt;br /&gt;
   |Titel=Git – kurz &amp;amp; gut&lt;br /&gt;
   |Verlag=O’Reilly Verlag&lt;br /&gt;
   |Ort=Köln&lt;br /&gt;
   |Datum=2022&lt;br /&gt;
   |ISBN=978-3-96009-187-5}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Commonscat}}&lt;br /&gt;
* [https://git-scm.com/ Git Homepage] – offizielle Webpräsenz von Git&lt;br /&gt;
* [https://git-scm.com/doc Git documentation] – Git-Dokumentation auf der Git-Website (englisch)&lt;br /&gt;
* [https://git-scm.com/book/de/v2 Pro Git] – deutsche Übersetzung des Buches &amp;#039;&amp;#039;Pro Git&amp;#039;&amp;#039; auf der Git-Website&lt;br /&gt;
* Mark Lodato: [https://marklodato.github.io/visual-git-guide/index-en.html A Visual Git Reference]&lt;br /&gt;
* {{YouTube |id=8dhZ9BXQgc4 |titel=Git: a brief introduction}} mit [[Randal L. Schwartz]], seit 2005 ein Wegbereiter von Git, am 12. Oktober 2007 (englisch)&lt;br /&gt;
* {{YouTube |id=4XpnKHJAok8 |titel=Linus Torvalds on Git – Linus Torvalds über Git bei einem Google Tech Talk, 3. Mai 2007}} (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references responsive /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=7687494-1}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freie Versionsverwaltungssoftware]]&lt;br /&gt;
[[Kategorie:Windows-Software]]&lt;br /&gt;
[[Kategorie:MacOS-Software]]&lt;br /&gt;
[[Kategorie:Linux-Software]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:BSD-Software]]&lt;br /&gt;
[[Kategorie:Solaris-Software]]&lt;/div&gt;</summary>
		<author><name>~2025-32336-01</name></author>
	</entry>
</feed>