web-dev-qa-db-fra.com

Différences entre Git-scm, msysGit et Git pour Windows

Quelle est la différence entre git-scm (téléchargé depuis git-scm.com ) et msysGit (hébergé sur Google Code , Github , et probablement d'autres)? Ils semblent tous deux assez similaires, et même si j'ai git-scm, j'ai appliqué les correctifs spécifiés pour msysGit et ils semblent bien fonctionner.

En outre, lequel, le cas échéant, est Git for Windows, et sont tous deux appelés Git Bash, ou les deux ont-ils le Git Bash Shell, ou un seul des deux?

59
trysis

Le site Web git-scm.com est le site Web officiel de Git, le logiciel de contrôle de version. Il n'y a pas de "Git-SCM", c'est juste l'URL du logiciel de gestion du contrôle des sources (SCM) - le nom est juste Git . Écrit à l'origine pour Linux, le logiciel Git d'origine n'est disponible qu'en tant que source qui ne se compile pas facilement sous Windows.

Si vous êtes simplement intéressé par l'installation de Git sur Windows, vous pouvez arrêter de lire ici et télécharger simplement une version Windows depuis le site officiel .

Git pour Windows

Git pour Windows est le projet dédié à la construction de builds natifs de Git pour Windows. Les versions de Windows sont disponibles en téléchargement sur le site officiel de Git , elles sont disponibles en versions 32 bits et 64 bits.

Git pour Windows est construit au-dessus de MSYS2 (une partie de MinGW ) qui fournit un environnement Shell de type Unix minimal qui est utilisé pour exécuter tous les composants de Git qui ne sont pas écrits en code natif (un beaucoup de Git est écrit sous forme de scripts Shell). Afin de construire Git avec MSYS2, le groupe de projet a un "SDK Git pour Windows" spécial qui est fondamentalement tout l'environnement de construction nécessaire pour construire Git sur Windows, et vient avec tout vous devez commencer à travailler sur Git lui-même.

Le projet maintient son propre fork de Git qui est maintenu à jour avec le projet Git d'origine mais contient un ensemble de correctifs nécessaires pour le construire sur Windows. Git pour Windows versions sont généralement publiées avec un court délai après la sortie de la version officielle (bien que les versions soient parfois ignorées).

msysGit

Avant Git version 2, les binaires Git pour Windows étaient publiés par le projet appelé msysGit , qui est le prédécesseur du Git pour Windows projet. Le projet a été retiré le 18 août 2015 en faveur du lancement du projet Git pour Windows avec l'environnement de développement reconstruit Git pour Windows. Le nouveau projet a été principalement lancé avec la même équipe.

Alors que beaucoup de gens considéraient msysGit comme le nom des binaires Git, c'était en fait le nom de l'environnement de développement qu'ils avaient créé. Il était basé sur MSYS, la version la plus ancienne et la plus obsolète avant le démarrage de MSYS2. Le mauvais état de MSYS a été l'une des raisons pour lesquelles le projet Git pour Windows a été démarré avec un environnement de construction complètement remanié.

Le projet a essentiellement publié trois choses: msysGit, Git pour Windows et un Git portable pour Windows. Le programme d'installation de msysGit installerait et configurerait l'environnement de développement requis pour construire Git sur Windows, tout comme le fait le Git pour Windows SDK. Git pour Windows était un programme d'installation qui installerait Git sur une machine Windows, et le Git portable pour Windows n'était que les fichiers binaires que vous n'auriez pas à installer. Notez que toutes leurs versions ont été publiées en tant que versions "prévisualisées", ce qui signifie qu'elles ne seraient pas entièrement prises en charge. Malgré cela, le projet était très mature et les versions étaient très stables et la meilleure façon de facto de configurer Git sur Windows.

Git Bash

Comme mentionné ci-dessus, beaucoup de Git sont écrits sous forme de scripts Shell. Afin d'exécuter ces scripts, Git pour Windows utilise Bash fourni avec MSYS2 (donc Bash fonctionne comme un interpréteur pour cela).

Git Bash se réfère généralement au raccourci que le programme d'installation Git pour Windows crée. Il lance une fenêtre de console complète exécutant Bash, vous pouvez donc utiliser Git ainsi qu'un ensemble d'outils de ligne de commande courants ou de programmes Unix (comme less, awk, grep , ou même l'éditeur de texte vim ). Surtout pour les utilisateurs moins expérimentés, Git Bash est le moyen commun d'interagir avec Git, bien que vous puissiez facilement l'utiliser à partir d'environnements plus centrés sur Windows comme PowerShell .

À partir de Git version 2, Git Bash lancera par défaut dans MinTTY, un émulateur de terminal fourni avec MSYS2, ce qui le rend facilement utilisable même pour les utilisateurs non habitués à une expérience console.

Il est également utile de savoir que Git Bash fonctionnera toujours même si vous avez décidé de ne pas ajouter d'exécutables Git à votre PATH lors de la configuration de Git pour Windows. Cependant, ma recommandation personnelle est d'ajouter l'exécutable Git ( juste l'exécutable Git, en choisissant l'option "Utiliser Git à partir de l'invite de commandes Windows" lors de l'installation) dans le PATH. De cette façon, vous pouvez travailler avec Git à partir d'autres shells (cmd.exe ou PowerShell), et d'autres programmes peuvent également y accéder (par exemple, de nombreuses bibliothèques ou même IDE attendent un exécutable Git dans le PATH). pour interagir avec les référentiels Git).

102
poke