Что такое точное значение Git Bash?

Git Bash

Я работал с Git Bash в течение последних двух дней. Теперь я знаю основные операции, такие как commit, push, pull, fetch и merge. Но я до сих пор не знаю, что Git Bash на самом деле!

Я много искал о Git Bash, но все сайты, которые я видел, сосредоточены на функциональности его команд. Я все еще не нашел хорошего ответа на свой вопрос. Теперь, я думаю, я в правильном месте, чтобы получить это отвечай!

2 ответов


Git bash-это оболочка, где:

  • запущенный процесс sh.exe (вместе с msysgit, as share/WinGit/Git Bash.vbs)
  • git-известная команда
  • $HOME определен

в разделе "исправить msysGit портативный $HOME расположение":

на Windows 64:

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

в отличие от git-cmd.bat, который обеспечивает команды git в простом DOS командная строка.

инструмент GitHub для Windows (G4W) предоставляет другая оболочка для git (включая PowerShell)


Обновление Апрель 2015 Года:

Примечание: Git bash в msysgit / Git для windows 1.9.5 старый:

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

но с выход из msysgit (Q4 2015) и новый Git Для Windows (Q2 2015), вы теперь есть Git для Windows 2.3.5.
Он имеет гораздо более недавний bash, основанный на 64bits проект msys2, независимая перезапись MSYS, основанная на современном Cygwin (POSIX compatibility layer) и MinGW-w64 с целью лучшей совместимости с собственным программным обеспечением Windows. msys2 входит собственный установщик тоже.

Git bash теперь (с новым Git для Windows):

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

оригинальный ответ (Июнь 2013) Точнее, от msygit wiki:

исторически Git в Windows официально поддерживался только с помощью Cygwin.
чтобы помочь сделать собственную версию Windows, этот проект был запущен на основе компилятор MinGW вилка.

чтобы сделать более ясным молочный " суп " названий проектов, мы говорим так:

  • msysGit - это название этого проекта, сборка среда для Git для Windows, которая выпускает официальные двоичные файлы
  • MinGW - это минималистская среда разработки для собственных приложений Microsoft Windows.
    Это действительно очень тонкий слой времени компиляции во время выполнения Microsoft; поэтому программы MinGW являются реальными программами Windows, без понятия путей в стиле Unix или тонкостей POSIX, таких как fork() вызов
  • префикса msys - это командная строка Bourne Shell система интерпретатора, используемая MinGW (и другими), была раздвоена в прошлом из Cygwin
  • Cygwin - Linux как среда, которая использовалась в прошлом для создания Git для Windows, в настоящее время не имеет никакого отношения к msysGit

Итак, ваше описание двух строк о "Git bash":

"Git bash " является оболочкой msys, включенной в "Git для Windows", и является уменьшенной версией Cygwin (старая версия при этом), единственной целью которого является предоставление достаточного слоя POSIX для запуска bash.


напоминание:

msysGit-это среда разработки для компиляции Git для Windows. Он завершен в том смысле, что вам просто нужно установить msysGit, а затем вы можете построить Git. Без установки какого-либо стороннего программного обеспечения.

msysGit не Git для Windows; это установщик, который устанавливает Git -- и только Git.

Подробнее см. В разделе "разница между msysgit и Cygwin + git?".


Я думаю, что вопрос asker (был) думает, что ГИТ Баш - это команда типа git init или git checkout. Git bash не является команда, это интерфейс. я также предположу, что asker не является пользователем linux, потому что bash очень популярен в мире unix/linux. Название " bash "является аббревиатурой от"Bourne Aполучить Шell". Bash-это текст-только команда интерфейс, который имеет функции, позволяющие запускать автоматические скрипты. А хороший аналогией было бы сравнить bash с новым PowerShell интерфейс в Windows7 / 8. А плохо аналогия (но одна, вероятно, будет более легко понята большим количеством людей) - это комбинация командная строка и .Командные файлы BAT (batch) со времен DOS и ранних версий Windows.

ссылки: