Quelle est la signification exacte de Git Bash?

Git Bash

je travaille avec Git Bash depuis deux jours. Je connais maintenant les opérations de base telles que commit , push , pull , fetch , et merge . Mais je ne sais toujours pas ce que Git Bash lui-même est réellement!

j'ai cherché beaucoup sur Git Bash, mais tous les sites que j'ai vu se concentrent sur la fonctionnalité de ses commandes. Je n'ai toujours pas trouvé de bonne réponse pour mon question. Maintenant, je pense que je suis au bon endroit pour obtenir cette réponse!

59
demandé sur DRAJI 2013-07-23 14:23:20

2 réponses

git bash est un shell où:

voir" fixer msysGit Portable $HOME location ":

sur un Windows 64:

C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git.7.1\bin\sh.exe" --login -i"

git-cmd.bat , qui fournit des commandes git dans une simple invite de commande DOS.

Un outil comme GitHub pour Windows (G4W) offre environnement différent pour git (y compris un PowerShell)


Mise À Jour Avril 2015 :

Note: le git bash dans msysgit/Git pour windows 1.9.5 est un ancien:

GNU bash, version 3.1.20(4)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

mais avec le suppression progressive de msysgit (Q4 2015) et le nouveau Git pour Windows (Q2 2015), vous avez maintenant Git pour Windows 2.3.5 .

Il a un bash beaucoup plus récent, basé sur le 64bits projet msys2 , une réécriture indépendante de MSYS, basé sur Cygwin moderne (couche de compatibilité POSIX) et MinGW-w64 avec l'objectif d'une meilleure interopérabilité avec les logiciels Windows natifs. msys2 est livré avec son propre installateur aussi.

git bash est maintenant (avec la nouvelle Git Pour Windows):

GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.

réponse originale (juin 2013 )) Plus précisément, de msygit wiki :

Historiquement, Git sur Windows était seulement officiellement supporté par Cygwin.

pour aider à faire une version Windows native, ce projet a été lancé, basé sur le MinGW fork .

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 libère les binaires officiels
  • MinGW - est un environnement de développement minimaliste pour les applications natives Microsoft Windows.

    Il s'agit en fait d'une couche de compilation très mince sur le Microsoft Runtime; les programmes MinGW sont donc de véritables programmes Windows, sans aucun concept de chemins Unix ou de subtilités POSIX comme un fork() call
  • MSYS - est un système D'interpréteur de ligne de commande Bourne Shell, est utilisé par MinGW (et d'autres), a été bifurqué dans le passé de Cygwin
  • Cygwin - un environnement similaire à Linux, qui a été utilisé dans le passé pour construire Git pour Windows, de nos jours n'a pas de relation avec msysGit

donc, vos deux lignes description de "git bash" sont:

" Git bash "est un shell de msys inclus dans "Git pour Windows", et est une version épurée de Cygwin (une vieille version), dont le seul but est de fournir assez d'une couche POSIX pour lancer un bash.


rappel:

msysGit est l'environnement de développement pour compiler Git pour Windows. Il est complet, dans le sens où vous avez juste besoin d'installer msysGit, et puis vous pouvez construire Git. Sans installation un 3ème partie logiciel.

msysGit n'est pas Git pour Windows, c'est un installeur qui installe Git -- et le Git .

voir plus dans " différence entre msysgit et Cygwin + git? ".

59
répondu VonC 2017-05-23 11:33:16

je pense que la question asker (était) pense que git bash est une commande comme git init ou git checkout . Git bash n'est pas une commande , c'est une interface . je supposerai aussi que l'asker n'est pas un utilisateur de linux parce que bash est très populaire dans le monde unix/linux. Le nom "bash" est un acronyme pour B ourne Un gain SH apl". Bash est une interface de commande textuelle qui dispose de fonctionnalités permettant d'exécuter des scripts automatisés. Une bonne analogie serait de comparer bash à la nouvelle PowerShell interface dans Windows7 / 8. Une analogie pauvre (mais susceptible d'être plus facilement comprise par un plus grand nombre de personnes) est la combinaison du l'invite de commande et .Commande BAT (batch) fichiers de L'époque de DOS et des premières versions de Windows.

REFERENCES:

14
répondu O.M.Y. 2015-10-10 07:52:38