MSysGit vs Git pour Windows

105

J'ai du mal à déterminer la différence entre MSysGit et Git pour Windows . Comment sont-ils différents? Pourquoi choisirais-je l'un plutôt que l'autre?

Jarrod
la source
15
+1, c'est en fait une question plus difficile / plus impliquée / importante qu'il n'y paraît.
1
Voir aussi différent entre msysgit et Cygwin + git: stackoverflow.com/questions/3144082/...
VonC

Réponses:

79

N'est-ce pas la même chose?

Sur: http://msysgit.github.com/ Le titre est Git pour Windows, l'application est msysgit.

Même dans le cas où ils ne le seraient pas, je pense que les seules différences seront dans la méthode de compilation (c'est-à-dire le compilateur utilisé et tout ensemble d'options) et tout emballage superflu (comme avoir un shell émulant bash comme dans msysgit). Le produit réel (Git lui-même) doit rester globalement similaire.


Edit : Merci à Jarrod pour l'avoir signalé. J'ai laissé ce qui précède pour la postérité. Pour citer le wiki:

msysGit est l'environnement de développement pour compiler Git pour Windows. C'est complet, dans le sens où il vous suffit d'installer msysGit, puis vous pouvez construire Git. Sans installer de logiciel tiers. msysGit n'est pas Git pour Windows; c'est un programme d'installation qui installe Git - et uniquement Git.

Il est facile de voir la différence: les installateurs pour Git ont le préfixe Git-, les installateurs msysGit ont le préfixe msysGit-. Un autre révélateur est que les programmes d'installation de msysGit sont disponibles en deux versions: fullinstall et netinstall. De plus, msysGit ne s'installe pas sur C: \ Program Files par défaut. Mais msysGit est livré avec gcc, le compilateur GNU C.

Donc, la différence entre les deux projets :

  • msysGit est le msys+ mingwenvironnement + tout nécessaire pour compiler vous - même Git, sous Windows.
  • Git pour Windows est exactement cela: Git, compilé pour Windows.
Mark Amery
la source
8
Je ne pense pas que ce soit la même chose. Si vous suivez un lien dans celui que vous avez posté, vous trouverez "msysGit n'est pas Git pour Windows" sur le wiki
Jarrod
2
@Jarrod Je pense que vous avez tout à fait raison et j'ai mis à jour ma réponse.
5
Veuillez excuser mon ignorance, mais pourquoi voudrais-je compiler git? Si je voulais simplement utiliser git pour le contrôle de code source sous Windows, ai-je besoin de msysGit?
Jarrod
3
@Jarrod Réponse courte à votre question: Non. Obtenez Git sur Windows.
2
@Jarrod: Vous voudriez le compiler vous-même si vous vouliez utiliser la dernière version de git, afin que vous puissiez obtenir toutes les nouvelles fonctionnalités passionnantes dès que possible! Je fais cela sur Linux.
Cascabel
16

(Maintenant) ils sont les mêmes (à partir de mai 2015 mais probablement un peu plus tôt):

«msysgit» et «Git pour Windows» ont fusionné sous le nom «Git pour Windows». msysgit.github.io héberge désormais "Git pour Windows" et le site de téléchargement principal de git git-scm.com répertorie msysgit.github.io comme version maintenue pour Windows.

Depuis le wiki mis à jour :

... nous avons décidé de supprimer progressivement le nom «msysGit» (ainsi que l'organisation GitHub du même nom) et de travailler sur Git pour Windows (avec l'organisation GitHub correspondante, et en utilisant le nom «Git pour Windows» pour le installateur destiné aux "utilisateurs finaux" et "Git pour Windows SDK" pour l'environnement de développement ciblant Git pour les développeurs Windows).

Bryan P
la source
Comment peuvent-ils être les mêmes, quand git-for-windows est un fork de msysgit, git-for-windows est difficile en développement et msysgit ne l'est pas, et git-for-windows utilise Git 2.4?
BlackEye
1
@BlackEye. Cela ressemble à une histoire intéressante. Ma réponse était juste de souligner que ces projets ont maintenant fusionné (comme décrit sur le wiki du projet), malgré leur histoire. Cela semble pertinent pour de nombreuses personnes qui essaient de savoir lequel utiliser maintenant.
Bryan P
4

Voici l'extrait 'Official README'

La version "portable" de Git pour Windows (MSysGit) n'a pas besoin d'être installée. Il fonctionnera à partir de n'importe quel répertoire dans lequel vous le placez, même sur une clé USB. Il n'écrira pas d'entrées permanentes dans le registre Windows. Il n'a pas besoin de privilèges d'administrateur pour «installer». Cette version ne vous offre pas les entrées de menu contextuel pratiques "Git GUI Here" et "Git Bash Here", car elles nécessiteraient d'ajouter des entrées dans le registre Windows.

Santhosh Neyyar
la source
Cela s'applique aux deux, je pense.
BlackEye
4

Git pour Windows est plus récent que msysGit . Si vous souhaitez utiliser la version 2.x de Git, vous devez télécharger à partir de https://github.com/git-for-windows/git/releases . https://github.com/msysgit/git/releases est utilisé pour Git version 1.x.

Quelques détails techniques de https://github.com/git-for-windows/git/wiki/FAQ

Git pour Windows était autrefois développé en utilisant l'environnement de développement appelé "msysGit", mais coïncidant à peu près avec Git 2.1, msysGit a été remplacé par un nouvel environnement de développement: le SDK Git pour Windows .

Tobias Schultze
la source
2

Les titres sur la page de téléchargement viennent d'être mis à jour afin que les versions "Git pour Windows" soient parfaitement identifiées. Il existe maintenant à la fois une version `` installée '' (avec les options du menu contextuel) et une version portable qui s'exécute directement à partir d'une clé mémoire, etc.

Philip Oakley
la source
2

D'après ce que je comprends, Git sur Windows est le projet composé des quatre puces ci-dessous.

Tiré directement de https://github.com/msysgit/msysgit/wiki :

Git sur Windows

Pour rendre la `` soupe '' laiteuse des noms de projets plus claire, nous disons comme ceci:

  • msysGit - est le nom de ce projet, un environnement de construction pour Git pour Windows, qui publie les binaires officiels

  • MinGW - est un environnement de développement minimaliste pour les applications Microsoft Windows natives.

  • MSYS - est un système d'interprétation de ligne de commande Bourne Shell, est utilisé par MinGW (et d'autres), a été dérivé dans le passé de Cygwin

  • Cygwin - un environnement similaire à Linux, qui était utilisé dans le passé pour construire Git pour Windows, n'a aujourd'hui aucun rapport avec msysGit

netigger
la source
1
N'y a-t-il pas une puce manquante: "git for windows"? Ce que l'utilisateur moyen de Windows GIT installe pour utiliser GIT. github.com/msysgit/git
Tom
1

Il s'agit d'une comparaison générale plus claire directement depuis leur site 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
la source
1

Git pour Windows est probablement ce que vous voulez. Il comprend les principales caractéristiques suivantes:

Git BASH Git pour Windows fournit une émulation BASH utilisée pour exécuter Git à partir de la ligne de commande. * Les utilisateurs de NIX devraient se sentir comme chez eux, car l'émulation BASH se comporte comme la commande "git" dans les environnements LINUX et UNIX.

GUI Git Comme les utilisateurs de Windows s'attendent généralement à des interfaces utilisateur graphiques, Git pour Windows fournit également l'interface graphique Git, une alternative puissante à Git BASH, offrant une version graphique de presque toutes les fonctions de ligne de commande Git, ainsi que des outils de comparaison visuelle complets.

Intégration Shell Cliquez simplement avec le bouton droit sur un dossier dans l'Explorateur Windows pour accéder à BASH ou à l'interface graphique. Le plugin Git-Cheetah fournit également une interface de type TortoiseSVN qui affiche les fonctions Git directement dans le menu contextuel.

Ce qui suit est disponible en téléchargement séparé à partir de la même page ...

msysGit est un environnement de construction qui comprend tous les outils nécessaires aux développeurs qui souhaitent contribuer en écrivant du code pour Git pour Windows.


Git BASH fournit un environnement familier aux experts Linux qui ont parfois besoin d'utiliser une machine Windows - même s'ils n'ont pas besoin de gitlui-même. Il commence par l'invite BASH et ajoute une collection de programmes utilitaires de base tels que ssh, find, grep, vi, awk, et bien sûr git.

Brent Bradburn
la source
À présent, vous pourriez être plus intéressé par le sous-système Windows pour Linux .
Brent Bradburn