Найти тему

Установка Git в Windows

Оглавление

Рано или поздно любой разработчик дорастает до Git - распределённой системы управления версиями. И если в вашей жизни настал сей переломный момент, то эта статья возможно станет полезной для Вас, так как в ней пойдет речь о процессе установки Git на операционную систему Windows.

Скачиваем дистрибутив для вашей версии Windows c официального сайта https://git-scm.com и запускаем процесс установки.

Соглашаемся с лицензией

Соглашаемся со стандартной для свободного программного обеспечения GNU GPL лицензией.

Указываем путь установки

По умолчанию Git устанавливается в папку C:\Program Files\Git. Но. мой скромный опыт показывает, что это не самое лучшее решение, так как Git консольное приложение и пробел в пути может привести к ошибкам выполнения некоторых скриптов. Лучшим решением будет указать путь не содержащий пробелов, например C:\git.

Кстати, данная статья написана по причине того, что git стоял в папке Program Files и я не смог собрать Lua под MinGW.

-2

Выбираем компоненты установки

Additional Icons - позволяет установить дополнительные иконки на рабочий стол.

Windows Explorer Integration - интеграция с проводником Windows.

Git Bash Here - добавит пункт вызова командной строки Bash в контекстное меню проводника (правая кнопка мыши).

Git Bash это консоль как в linux за основу которой была взята MSys2 - консоль созданная для кросс платформенного C\C++ компилятора MinGW. Хорошая замена стандартным сmd и Power Shell в том случае если Вы не являетесь противником командного синтаксиса linux и хотите свободно плавать в обеих средах и создавать платформонезависимые приложения.

Git GUI Here - добавит пункт вызова графической оболочки Git GUI в контекстное меню проводника (правая кнопка мыши).

Git создавался под Linux и изначально был ориентирован на работу в командной строке. Большинство IDE и редакторов кода имеют собственные интерфейсы работы с Git и не нуждаются в Git GUI. Учитывая все сказанное можно смело заявить, что Git GUI вещь на любителя, и чтобы не замусоривать контекстное меню проводника лучше отключить эту опцию.

Git LFS - поддержка больших файлов. Позволяет хранить большие файлы на отдельном сервере заменяя большие файлы на текстовые ссылки. Подробнее на https://git-lfs.github.com.

Associate .git* configuration files with default text editor - ассоциация файлов .git* с текстовым редактором по умолчанию.

Associate .sh files to be run with Bash - выполнение .sh файлов в консоли Git Bash. Файлы формата .sh это скриптовые системные файлы в Linux, что то вроде .bat или .cmd файлов в windows.

Use a True Type fonts in all console windows - использовать шрифты True Type во всех консолях Windows.

Check daily for Git for Windows updates - ежедневная проверка обновлений.

-3

Указываем название папки в меню пуск

Можно указать Don't create a Start Menu folder для того, чтобы не создавать ничего в папке пуск.

-4

Указываем текстовый редактор по умолчанию

Честно, когда нибудь я освою Vim, но пока думаю стоит остановиться на чем то привычном для пользователя Windows. Хотя, с вызовом текстового редактора из Git мне еще не приходилось.

-5

Указываем, где использовать Git

Use Git from Git Bash only - использовать Git только в Git Bash. Git недоступен в Cmd, Power Shell и других программах.

Git from the command line and also form 3rd-party software - Git прописывается в PATH и доступен всем приложениям.

Use Git optional Unix tools from the Command Prompt - кроме Git системе станут доступны некоторые Unix команды. Тут лучше выбрать второй вариант. Если Вам сильно хочет Unix команд, то лучше для этих целей использовать Git Bash а не засорять Windows несвойственным ему функционалом.

-6

Выбираем приложение для работы с SSH

Для обычной работы достаточно OpenSSH. Но есть возможность указать Plink.exe если вы используете PuTTY сессии. Признаюсь честно, никогда с подобным не сталкивался, всегда использовал OpenSSH, чего и Вам советую.

-7

Указываем библиотеку для работы с SSL

SSL используется для шифрования трафика. В обычных условиях достаточно OpenSSL. В изощренных случаях можно использовать Windows Secure Channel Library, что позволит Вам использовать корневые сертификаты Root CA certificates распространяемые через Active Directory Domain Services.

-8

Преобразование окончания строк

В незапамятные времена не у всех компьютеров были мониторы и вывод производился на принтер. Буквы печатала специальная печатающая головка которая управлялась кодами зарезервированными в таблице символов ASCII. Для возврата головки требовалось две команды: откатить головку в начало строки и опустить ее на символ вниз (подтянуть бумагу в верх). По этой причине в текстовых файлах строка заканчивалась двумя байтами - 0x0D, 0x0A (CRLF)

CR (Carrage return) - возврат каретки.
LF (Line feed) - подача бумаги на строку в верх.

Этой традиции по сей день придерживается компания Microsoft.

С другой стороны, два байта, это два байта. Это на 100% больше чем 1 байт. Конечно же, появились те, кто решил, что для столь часто выполняемой команды достаточно и одного байта 0x0A (LF).

Сторонниками этой теории оказались Unix и его наследник Linux.

Git отслеживает изменения в файлах, и каждый байт в строке важен. Строки заканчивающиеся на CRLF и LF для Git разные строки. Для решения этой проблемы в Git есть механики позволяющие конвертировать окончания строк автоматически.

Chekout Windows-style, commit Unix-style line endings - версия документов с которыми вы работаете будет в стиле Windows (CRLF) но храниться она будет в стиле Unix (LF).

Сhekout as-is, commit Unix-style line endings - Git будет хранить документы конвертируя окончания строк в Unix формат (LF). Работать с ними вы будете как есть. Выглядит опасно, так как если Вы положите документ в виде CRLF то Git вернет его как LF, и произойдет это не автоматически сразу, а когда ни будь во время отката или клонирования.

Сhekout as-is, commit as-is - ничего не изменяет, все хранится как есть.

-9

Выбор эмулятора терминала

Позволяет выбрать какой терминал использовать.

Use MinTTY (ths default terminal of MSYS2) - использовать MinTTY. Выбор здорового человека, подходящий для выполнения большинства повседневных задач.

Use Windows default console window - использовать консольное окно Windows. Может быть нужно для корректной работы "interactive Python" или node.js. Хотя странно, так как node.js прекрасно работает в терминале MinTTY. Также стоит отметить, что в консоли windows будет много мороки с корректной поддержкой unicode и выводом текста на русском языке.

-10

Экстра опции

Extra file system caching - кэширование значительно увеличивающее скорость работы Git.

Enable Git Credential Manager - нужно для мультифакторной аунтификации.

Enable symbolic links - включает поддержку символьных ссылок.

-11

Установка

-12

Завершаем установку

-13

Проверка

Выполняем в консоли простую команду git --version которая выведет версию установленной Git.

-14