WikiDer > Git (Software)
git | ||||
| Entwickler | Linus Torvalds (ursprünglich) | |||
| Letzte Version | 2.31.1 (26. März 2021)[1] | |||
| Neueste Beta-Version | 2.27-rc0 (14. Mai 2020) | |||
| Status | Aktiv | |||
| Betriebssystem | Fenster, Mac OS, Linux, QNX, z/OS und Unix (POSIX)[2] | |||
| Geschrieben in | C, perl und Tcl | |||
| Kategorie | Versionskontrollsystem | |||
| Lizenz | GPL | |||
| Versionskontrolle | git.kernel.org | |||
| Webseite | (und) Projektseite | |||
| ||||
git ist ein kostenlos verteilt Versionskontrollsystem. Es heißt auch a SoftwareQuellcodeals Managementprojekt bezeichnet. Die Betonung liegt auf Geschwindigkeit. Git wurde ursprünglich erstellt von Linus Torvalds für die Entwicklung der Linux Kernel.
Jede Git-Arbeitsmappe enthält die vollständige Repository mit einer vollständigen historischen Übersicht und vollständigen Tracking-Funktionen. Git verlässt sich nicht auf einen gemeinsamen Standort oder eine zentrale Server mag ich Mitbewerber-Versionen-System (CFS) oder Subversion (SVN).
Geschichte
Die Entwicklung von Git begann nach der Entscheidung der Firma BitMover, das Programm het . zu veröffentlichen BitKeeper nicht mehr zur freien Nutzung verfügbar. Die Lizenzen wurden widerrufen, nachdem der Besitzer von BitKeeper einen Entwickler beschuldigt hatte,... Reverse Engineering des BitKeeper-Protokolls, obwohl dies von der Lizenz nicht erlaubt war. Neben der Entwicklung von Git ist aus dem gleichen Grund die Entwicklung des Versionskontrollsystems Mercurial gestartet.
Nach dem Verbot von BitKeeper wollte Torvalds ein verteiltes Versionskontrollsystem wie BitKeeper, aber es gab keine kostenlosen Verwaltungssysteme, die die Leistungsanforderungen von Torvalds erfüllten. Torvalds stellt die folgenden Anforderungen an ein Versionskontrollsystem für die Linux-Entwicklung:
- Nehmen Sie CVS nicht als Beispiel für ein Versionskontrollsystem. Wählen Sie im Zweifelsfall das Gegenteil.
- Unterstützung für eine BitKeeper-ähnliche verteilte und nichtlineare Art der Softwareentwicklung.
- Sehr strenger Schutz vor versehentlicher oder absichtlicher Datenbeschädigung.
- Sehr hohe Leistungsanforderungen.
Nur die ersten drei Anforderungen erfüllt monoton. Keines der bestehenden Systeme erfüllte alle vier Anforderungen. Unmittelbar nach der Veröffentlichung der Entwicklungsversion 2.6.12-rc2 des Linux-Kernels begann Torvalds mit der Entwicklung eines eigenen Systems.
Die Entwicklung der Software begann am 3. April 2005, wurde am 6. April angekündigt und seit dem 7. April wird der Quellcode von der Software selbst verwaltet. Die Leistungsanforderung von Torvalds wurde am 29. April erfüllt. Am 16. Juni wurde die Version 2.6.12 des Linux-Kernels mit Git veröffentlicht.
Obwohl Git von BitKeeper inspiriert wurde, verfolgte Torvalds bewusst einen alternativen Ansatz, der zu einem eigenen System führte. Er entwickelte das System so lange, bis es von den technischen Benutzern genutzt werden konnte. Er übergab das Projekt am 26. Juli 2005 an Junio Hamano, der maßgeblich an der Entwicklung von Git beteiligt war. Hamano veröffentlichte am 21. Dezember 2005 die Version 1.0 und leitet das Projekt bis heute.
Ursprünglich war es ein komplexes System, das aus elementaren Operationen zur Durchführung der Versionskontrolle bestand. Im Laufe der Zeit entstanden andere Software, um die Verwendung von Git zu vereinfachen, wie beispielsweise Cogito. Später wurde die Funktionalität von Cogito in Git selbst integriert, wodurch diese Art von Software überflüssig wurde.
Git basiert stark auf der Unix-Philosophie (frei übersetzt: mach eine Sache und mach es gut) und ist daher sehr abhängig von anderen Unix-Programmen wie unterschied und Patch. Dies erschwert beispielsweise die Portabilität auf Windows. Es gibt jedoch jetzt Initiativen zur Neuimplementierung der Git-Funktionalität in Java oder C#, wodurch die Abhängigkeit von dieser Software beseitigt wird.
Betriebsart
Git unterscheidet sich geringfügig von zentralen Versionskontrollsystemen wie Subversion (SVN). Mit zentralen Versionskontrollsystemen, Überarbeitungen standardmäßig auf einen Server hochgeladen, wenn eine neue Version von einem Teilnehmer eingereicht wird. Bei Git hingegen werden neue Versionen an eine lokale Kopie des Repositorys übergeben, wenn ein Teilnehmer Änderungen vornimmt. Dieses lokale Repository kann jederzeit mit dem Server synchronisiert werden. Dies hat den Vorteil, dass auch ohne Internetverbindung neue Revisionen eingereicht werden können, während zentrale Versionskontrollsysteme immer eine Verbindung zum Server benötigen.
Dies hat den Nachteil, dass sich mehrere Teilnehmer auf derselben Revision befinden können, die sich voneinander unterscheiden. Zwei Benutzer können gleichzeitig ihre lokalen Kopien mit dem Server synchronisieren und Anpassungen vornehmen. Wenn sie dies getan und ihre Arbeit ein- oder mehrmals an ihre lokale Kopie gesendet haben, können Konflikte auftreten, da die Benutzer nicht dieselben Änderungen vorgenommen haben. Einer der Benutzer könnte dann seine Kopie synchronisieren, sagen wir, mit Revision 15, während sein Mitteilnehmer nicht sehr oft eine neue Version eingereicht hat und sich immer noch in Revision 13 befindet. Wenn dieser Benutzer seine Kopie mit dem Server synchronisiert, muss er Konflikte lösen. Dies wurde jedoch in der Git-Software berücksichtigt.
Siehe auch
Externer Link
- (und) Projektseite
Verweise
Quelle Dieser Artikel oder eine frühere Version ist eine (Teil-)Übersetzung des Artikels Git (Software) auf der englischsprachigen Wikipedia, die unter der Creative Commons Namensnennung/Weitergabe unter gleichen Bedingungen Stürze. Siehe die Verlauf bearbeiten Dort. |