MSysGit vs. Git für Windows

105

Ich habe Probleme, den Unterschied zwischen MSysGit und Git für Windows festzustellen . Wie unterscheiden sie sich? Warum sollte ich einen über den anderen wählen?

Jarrod
quelle
15
+1, dies ist tatsächlich eine schwierigere / kompliziertere / wichtigere Frage, als es zunächst erscheint.
1
Siehe auch Unterschied zwischen msysgit und cygwin + git ?: Stackoverflow.com/questions/3144082/…
VonC

Antworten:

79

Sind sie nicht dasselbe?

On: http://msysgit.github.com/ Der Titel lautet Git für Windows, die Anwendung lautet msysgit.

Selbst wenn dies nicht der Fall ist, erwarte ich, dass die einzigen Unterschiede in der Kompilierungsmethode (dh dem verwendeten Compiler und den festgelegten Optionen) und der externen Verpackung (z. B. einer Bash-Emulations-Shell wie in msysgit) bestehen. Das eigentliche Produkt (Git selbst) sollte weitgehend ähnlich bleiben.


Edit : Danke an Jarrod für den Hinweis. Ich habe das Obige für die Nachwelt belassen. Um das Wiki zu zitieren:

msysGit ist die Entwicklungsumgebung zum Kompilieren von Git für Windows. Es ist vollständig in dem Sinne, dass Sie nur msysGit installieren müssen und dann Git erstellen können. Ohne Installation von Software von Drittanbietern. msysGit ist nicht Git für Windows; Das ist ein Installationsprogramm, das Git installiert - und nur Git.

Der Unterschied ist leicht zu erkennen: Die Installationsprogramme für Git haben das Präfix Git-, die msysGit-Installationsprogramme haben das Präfix msysGit-. Eine weitere verräterische Tatsache ist, dass die msysGit-Installationsprogramme in zwei Varianten erhältlich sind: fullinstall und netinstall. Außerdem wird msysGit standardmäßig nicht in C: \ Programme installiert. Aber msysGit kommt mit gcc, dem GNU C Compiler.

So ist der Unterschied zwischen den beiden Projekten :

  • msysGit ist die msys+ mingwUmgebung + alles, was Sie brauchen, um Git unter Windows selbst zu kompilieren.
  • Git für Windows ist genau das: Git, kompiliert für Windows.
Mark Amery
quelle
8
Ich denke nicht, dass sie dasselbe sind. Wenn Sie einem Link in dem von Ihnen geposteten folgen, finden Sie "msysGit ist nicht Git für Windows" im Wiki
Jarrod
2
@ Jarrod Ich denke du bist absolut korrekt und ich habe meine Antwort aktualisiert.
5
Bitte entschuldigen Sie meine Unwissenheit, aber warum sollte ich git kompilieren wollen? Benötige ich msysGit, wenn ich git nur für die Quellcodeverwaltung unter Windows verwenden wollte?
Jarrod
3
@Jarrod Kurze Antwort auf Ihre Frage: Nein. Holen Sie sich Git unter Windows.
2
@Jarrod: Sie möchten es selbst kompilieren, wenn Sie die neueste Version von git verwenden möchten, damit Sie so schnell wie möglich alle aufregenden neuen Funktionen erhalten! Ich mache das unter Linux.
Cascabel
16

(Jetzt) ​​sind sie gleich (Stand Mai 2015, aber wahrscheinlich etwas früher):

"msysgit" und "Git für Windows" wurden unter dem Namen "Git für Windows" zusammengeführt. msysgit.github.io hostet jetzt "Git für Windows" und die Haupt-Git-Download-Site git-scm.com listet msysgit.github.io als den gepflegten Build für Windows auf.

Aus dem aktualisierten Wiki :

... haben wir beschlossen, den Namen "msysGit" (sowie die gleichnamige GitHub-Organisation) einfach auslaufen zu lassen und an Git für Windows (mit der entsprechenden GitHub-Organisation) zu arbeiten und den Namen "Git für Windows" für die zu verwenden Installationsprogramm für "Endbenutzer" und "Git für Windows SDK" für die Entwicklungsumgebung für Git für Windows-Entwickler).

Bryan P.
quelle
Wie können sie gleich sein, wenn git-for-windows eine Abzweigung von msysgit ist, git-for-windows sich in der Entwicklung befindet und msysgit nicht, und git-for-windows Git 2.4 verwendet?
BlackEye
1
@Schwarzes Auge. Klingt nach einer interessanten Geschichte. Meine Antwort war nur der Hinweis, dass diese Projekte nun trotz ihrer Geschichte zusammengeführt wurden (wie im Projekt-Wiki beschrieben). Dies scheint für viele Menschen relevant zu sein, die versuchen, herauszufinden, welche sie jetzt verwenden sollen.
Bryan P
4

Hier ist der Auszug 'Official README'

"Portable" Version von Git für Windows (MSysGit) muss nicht installiert werden. Es wird von jedem Verzeichnis ausgeführt, in dem Sie es ablegen, sogar von einem USB-Stick. Es werden keine dauerhaften Einträge in die Windows-Registrierung geschrieben. Für die "Installation" sind keine Administratorrechte erforderlich. Diese Version bietet Ihnen nicht die praktischen Kontextmenüeinträge "Git GUI Here" und "Git Bash Here" mit der rechten Maustaste, da hierfür Einträge zur Windows-Registrierung hinzugefügt werden müssten.

Santhosh Neyyar
quelle
Das gilt für beide, denke ich.
BlackEye
4

Git für Windows ist neuer als msysGit . Wenn Sie Git Version 2.x verwenden möchten, müssen Sie diese von https://github.com/git-for-windows/git/releases herunterladen . https://github.com/msysgit/git/releases wird für Git Version 1.x verwendet.

Einige technische Details finden Sie unter https://github.com/git-for-windows/git/wiki/FAQ

Git für Windows wurde früher mit der Entwicklungsumgebung "msysGit" entwickelt, aber ungefähr zeitgleich mit Git 2.1 wurde msysGit durch eine neue Entwicklungsumgebung ersetzt: das Git für Windows SDK .

Tobias Schultze
quelle
2

Die Titel auf der Download-Seite wurden soeben aktualisiert, dass die "Git für Windows" -Versionen vollständig identifiziert werden. Es gibt jetzt sowohl eine 'installierte' Version (mit Rechtsklick-Menüoptionen) als auch eine tragbare Version, die direkt von einem Memory Stick usw. ausgeführt wird.

Philip Oakley
quelle
2

Soweit ich weiß, ist Git unter Windows das Projekt, das aus den folgenden vier Aufzählungspunkten besteht.

Entnommen direkt aus https://github.com/msysgit/msysgit/wiki :

Git unter Windows

Um die milchige "Suppe" der Projektnamen klarer zu machen, sagen wir Folgendes:

  • msysGit - ist der Name dieses Projekts, einer Build-Umgebung für Git für Windows, die die offiziellen Binärdateien veröffentlicht

  • MinGW - ist eine minimalistische Entwicklungsumgebung für native Microsoft Windows-Anwendungen.

  • MSYS - ist ein Bourne Shell-Befehlszeileninterpretersystem, das von MinGW (und anderen) verwendet wird und in der Vergangenheit von Cygwin gegabelt wurde

  • Cygwin - eine Linux-ähnliche Umgebung, die in der Vergangenheit zum Erstellen von Git für Windows verwendet wurde, hat heutzutage keine Beziehung zu msysGit

Netigger
quelle
1
Fehlt nicht eine Kugel: "git for windows"? Was der durchschnittliche Windows GIT-Benutzer installiert, um GIT zu verwenden. github.com/msysgit/git
Tom
1

Dies ist ein klarerer allgemeiner Vergleich direkt von ihrer Website https://github.com/msysgit/msysgit

Git for Windows is the software package that installs a minimal environment to run Git on Windows. It comes with a Bash (a Unix-type shell), with a Perl interpreter and with the Git executable and its dependencies.

On the other hand, msysGit is the software package installing the build environment that can build Git for Windows. The easiest way is to install it via the net installer.
PositiveGuy
quelle
1

Git für Windows ist wahrscheinlich das, was Sie wollen. Es enthält die folgenden Hauptfunktionen:

Git BASH Git für Windows bietet eine BASH-Emulation, mit der Git über die Befehlszeile ausgeführt wird. * NIX-Benutzer sollten sich wie zu Hause fühlen, da sich die BASH-Emulation in LINUX- und UNIX-Umgebungen genau wie der Befehl "git" verhält.

Git-GUI Da Windows-Benutzer häufig grafische Benutzeroberflächen erwarten, bietet Git für Windows auch die Git-GUI, eine leistungsstarke Alternative zu Git BASH, die eine grafische Version nahezu aller Git-Befehlszeilenfunktionen sowie umfassende visuelle Diff-Tools bietet.

Shell-Integration Klicken Sie einfach mit der rechten Maustaste auf einen Ordner im Windows Explorer, um auf BASH oder GUI zuzugreifen. Das Git-Cheetah-Plugin bietet auch eine TortoiseSVN-ähnliche Oberfläche, die Git-Funktionen direkt im Kontextmenü anzeigt.

Folgendes ist als separater Download von derselben Seite verfügbar ...

msysGit ist eine Build-Umgebung, die alle Tools enthält, die für Entwickler erforderlich sind, die einen Beitrag zum Schreiben von Code für Git für Windows leisten möchten.


Git BASH bietet eine vertraute Umgebung für Linux-Experten, die gelegentlich einen Windows-Computer verwenden müssen - auch wenn sie sich selbst nicht benötigen git. Es beginnt mit der BASH prompt und fügt eine Sammlung von Kern Utility - Programmen wie ssh, find, grep, vi, awk, und natürlich git.

Brent Bradburn
quelle
Inzwischen interessieren Sie sich möglicherweise mehr für Windows Subsystem for Linux .
Brent Bradburn