Различия между Git -scm, msysGit и Git для Windows

В чем разница между git-scm (загружается из git-scm.com) и msysGit (размещается на Google Code, Github и, возможно, другие)? Оба они кажутся довольно похожими, и хотя у меня есть git -scm, я применил исправления, заданные для msysGit, и они, похоже, работают нормально.

Кроме того, какой из них имеет значение Git for Windows и оба называются Git Bash или оба имеют оболочку Git Bash или только одну из двух?

Ответ 1

Веб-сайт git-scm.com является официальным сайтом для Git, программного обеспечения для управления версиями. Нет "Git -SCM", это просто URL-адрес программного обеспечения управления исходным кодом (SCM) - это имя просто Git. Первоначально написанный для Linux, исходное программное обеспечение Git доступно только как источник, который легко компилируется в Windows.

Если вам просто интересно установить Git в Windows, вы можете прекратить чтение здесь и просто загрузить Windows build с официального сайта.

Git для Windows

Git для Windows - это проект, посвященный созданию собственных построек Git для Windows. Выпуски Windows доступны для загрузки на официальном веб-сайте Git, они представлены как 32-битные и 64-битные сборки.

Git для Windows построен поверх MSYS2 (часть MinGW), которая обеспечивает минимальную среду, похожую на unix, которая используется для запуска все компоненты Git, которые не написаны в собственном коде (много Git написано как shell-скрипты). Чтобы создать Git с MSYS2, у группы проектов есть специальный "Git для Windows SDK", который в основном представляет собой всю среду сборки, необходимую для сборки Git в Windows, и приходит со всем, вам нужно начать работу с самой Git.

Проект поддерживает свою собственную вилку Git, которая обновляется с исходным проектом Git, но содержит набор исправлений, необходимых для его создания в Windows. Git для Windows releases обычно выпускаются с небольшой задержкой после выпуска официальной версии (хотя версии иногда пропускаются).

msysGit

До версии Git версии 2 двоичные файлы Git для Windows были выпущены проектом msysGit, который является предшественником Git для проекта Windows. Проект был уволен 18 августа 2015 года в пользу запуска проекта Git для Windows с восстановленной средой разработки Git для Windows SDK. Новый проект был в основном запущен с той же командой.

В то время как многие люди думали о msysGit как имя двоичных файлов Git, на самом деле это имя созданной среды разработки. Он был основан на MSYS, старой и доброй устаревшей версии до того, как MSYS2 был запущен свежим. Плохое состояние MSYS было одной из причин запуска проекта Git для Windows с полностью обновленной средой сборки.

В основном проект выпустил три вещи: msysGit, Git для Windows и портативный Git для Windows. Установщик msysGit установил и установил среду разработки, необходимую для сборки Git в Windows, как это делает Git для Windows SDK. Git для Windows был установщик, который установил бы Git на машину Windows, а переносимый Git для Windows был всего лишь двоичными файлами, которые вам не нужно было устанавливать. Обратите внимание, что все их выпуски были выпущены как "предварительные" сборки, что означает, что они не будут полностью поддерживаться релизами. Несмотря на это, проект был очень зрелым, и выпуски были очень стабильными и де-факто лучшим способом настроить Git на Windows.

Git Bash

Как упоминалось выше, много Git написано как скрипты оболочки. Чтобы выполнить эти сценарии, Git для Windows использует Bash, который поставляется в комплекте с MSYS2 (поэтому Bash работает как интерпретатор для него).

Git Bash обычно ссылается на ярлык, создаваемый установщиком Git для Windows. Он запускает полнофункциональное консольное окно с Bash, поэтому вы можете использовать Git, а также набор общих инструментов командной строки или Unix-программ (например, less, awk, grep) или даже текст редактор vim). Для менее опытных пользователей Git Bash - это общий способ взаимодействия с Git, хотя вы можете легко использовать его из более ориентированных на Windows сред, таких как PowerShell.

Начиная с версии Git версии 2, Git Bash по умолчанию будет запущен в MinTTY, эмуляторе термина который поставляется с MSYS2, что упрощает его использование даже для пользователей, не привыкших к консоли.

Также полезно знать, что Git Bash всегда будет работать, даже если вы решили не добавлять никаких исполняемых файлов Git к вашему PATH во время настройки Git для Windows. Однако моя личная рекомендация заключается в том, чтобы добавить исполняемый файл Git (только исполняемый файл Git, выбрав опцию "Использовать Git из командной строки Windows" во время установки) в PATH. Таким образом, вы можете работать с Git из других оболочек (cmd.exe или PowerShell), а другие программы также могут получить к нему доступ (например, многие библиотеки или даже интеграция с IDE ожидают, что исполняемый файл Git в PATH будет взаимодействовать с Git репозитории).