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

Git Bash

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

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

Ответ 1

git bash - это оболочка, в которой:

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

Смотрите " Исправление местоположения msysGit Portable $HOME ":

На Windows 64:

C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.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 (4 квартал 2015 года) и новым Git For Windows (2 квартал 2015 года) у вас теперь есть Git для Windows 2.3.5.
Он имеет гораздо более позднюю версию bash, основанную на 64- битном проекте msys2, независимой версии MSYS, основанной на современных Cygwin (уровень совместимости POSIX) и MinGW-w64 с целью лучшей совместимости с собственным программным обеспечением Windows. msys2 поставляется с собственным установщиком тоже.

Теперь git bash (с новым Git For Windows):

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

Оригинальный ответ (июнь 2013 г.) Точнее, из вики msygit:

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

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

  • msysGit - это название этого проекта, среды сборки для Git for Windows, которая выпускает официальные двоичные файлы
  • MinGW - это минималистичная среда разработки для собственных приложений Microsoft Windows.
    Это действительно очень тонкий слой времени компиляции по сравнению с Microsoft Runtime; Таким образом, программы 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? ".

Ответ 2

Я думаю, что вопросник (was) считает, что git bash - это команда вроде git init или git checkout. Git bash не является командой, это интерфейс. Я также предполагаю, что обманщик не является пользователем Linux, потому что bash очень популярен в мире unix/linux. Имя "bash" является аббревиатурой " B ourne A. SH ell". bash - текстовый командный интерфейс с функциями, позволяющими запускать автоматические сценарии. Хорошей аналогией было бы сравнение bash с новым интерфейсом PowerShell в Windows7/8. Плохая аналогия (но, скорее всего, более понятная для многих людей) - это комбинация команд командной строки и .BAT(пакетных) командных файлов со дней DOS и ранних версий Windows.

ССЫЛКИ:

Ответ 3

Bash - это интерфейс командной строки, созданный более двадцати семи лет назад Брайаном Фоксом в качестве бесплатной замены программного обеспечения для Bourne Shell. Оболочка - это особый вид интерфейса командной строки. Bash является "открытым исходным кодом", что означает, что любой может прочитать код и предложить изменения. С самого начала его поддержало большое сообщество инженеров, которые работали над тем, чтобы сделать его невероятным инструментом. Bash является оболочкой по умолчанию для Linux и Mac. По этим причинам Bash является наиболее используемой и широко распространенной оболочкой.

Windows имеет другой интерфейс командной строки, называемый командной строкой. Хотя в нем много тех же функций, что и в Bash, Bash гораздо более популярен. Из-за силы сообщества открытого исходного кода и инструментов, которые они предоставляют, освоение Bash - это лучшее вложение, чем освоение командной строки.

Чтобы использовать Bash на компьютере с Windows, нам нужно скачать и установить программу под названием Git Bash. Git Bash (Is Bash для Windows) позволяет нам легко получить доступ к Bash, а также к другому инструменту под названием Git, в среде Windows.

Ответ 4

По своей сути Git представляет собой набор служебных программ командной строки, которые предназначены для выполнения в среде командной строки в стиле Unix. Современные операционные системы, такие как Linux и macOS, включают встроенные терминалы командной строки Unix. Это делает Linux и macOS взаимодополняющими операционными системами при работе с Git. Вместо этого Microsoft Windows использует командную строку Windows, а не терминальную среду Unix.

Что такое Git Bash?

Git Bash - это приложение для сред Microsoft Windows, которое предоставляет уровень эмуляции для работы с командной строкой Git. Bash является аббревиатурой от Bourne Again Shell. Оболочка - это терминальное приложение, используемое для взаимодействия с операционной системой посредством письменных команд. Bash - это популярная оболочка по умолчанию для Linux и macOS. Git Bash - это пакет, который устанавливает Bash, некоторые распространенные утилиты bash и Git в операционной системе Windows.

источник: https://www.atlassian.com/git/tutorials/git-bash