
Каким способом поставить Git на Windows
Самый предсказуемый путь — официальный установщик Git for Windows со страницы git-scm.com. Вместе с самим Git он приносит оболочку Git Bash, терминал MinTTY, SSH-клиент и Git Credential Manager, который сохраняет логины к GitHub и GitLab, чтобы не вводить пароль при каждом push.
Читайте также: Python 3.12: как скачать и установить на Windows, macOS, Linux, Docker Desktop для Windows: установка, настройка, подводные камни.
Альтернативы ставят ровно тот же Git, разница только в том, сколько настроек вы контролируете и нужны ли права администратора.
| Способ | Что даёт | Когда подходит |
|---|---|---|
| Установщик с git-scm.com | Git, Git Bash, MinTTY, Credential Manager, мастер настроек | Обычный случай, есть права администратора |
| winget | Тот же Git for Windows с настройками по умолчанию | Быстрая установка без диалогов |
| Chocolatey / Scoop | Автоматизация и обновление одной командой; Scoop ставит в профиль пользователя | Скрипты, настройка нескольких машин |
| PortableGit | Распакованная папка, ничего не пишет в систему | Нет прав администратора, работа с флешки |
| WSL + git | Linux-версия Git внутри дистрибутива | Проект требует Linux-окружения |
Если проект живёт на bash-скриптах, Makefile и Docker, разумнее поставить Git внутри WSL и работать там. Минус — файлы в каталоге /mnt/c читаются заметно медленнее, чем внутри Linux-файловой системы, а два Git на одной машине могут по-разному трактовать переводы строк.
Тем, кто не трогает командную строку, отдельная установка может не понадобиться: GitHub Desktop приносит собственную сборку Git. Но в компаниях порядок установки часто регламентирует отдел ИБ, и ставить софт в обход правил не стоит.
Установка официальным установщиком: что выбрать в мастере
Скачайте файл «64-bit Git for Windows Setup» и запустите его. Большинство экранов можно принять по умолчанию, но несколько пунктов лучше выбрать осознанно.
- Select Components — оставьте Windows Explorer integration (пункты «Git Bash Here» и «Git GUI Here» в контекстном меню папок) и Git Credential Manager. Дополнительно отметьте Git LFS, если в репозиториях есть крупные бинарные файлы.
- Default editor — редактор, который откроется, если сделать commit без ключа -m. Nano закрывается сочетанием Ctrl+X, Vim требует знать команды выхода. Можно указать VS Code или Notepad++.
- PATH environment — от этого пункта зависит, увидит ли команду git PowerShell и cmd.
Варианты PATH
- Use Git from Git Bash only — Git не попадает в PATH, команда работает только внутри Git Bash.
- Git from the command line and also from 3rd-party software — в PATH добавляется только папка Gitcmd, конфликтов с системными программами нет. Этот вариант отмечен в установщике как рекомендуемый и подходит большинству.
- Use Git and optional Unix tools from the Command Prompt — добавляются ещё и Unix-утилиты, которые перекрывают системные find.exe и sort.exe.
Третий вариант PATH ломает привычные команды Windows: find и sort начнут работать как их Unix-аналоги. Выбирайте его только осознанно.
Экран Configuring the line ending conversions решает, как Git обходится с разными концами строк: в Windows это CRLF, в Unix и macOS — LF.
- Checkout Windows-style, commit Unix-style (core.autocrlf=true) — файлы на диске получают CRLF, в репозиторий уходят с LF. Разумный выбор, если всё редактируется в Windows и в проекте нет .gitattributes.
- Checkout as-is, commit as-is (core.autocrlf=false) — ничего не меняется. Нужен, если в команде уже настроен .gitattributes и правила заданы явно.
- Checkout as-is, commit Unix-style (core.autocrlf=input) — оставляет LF на диске. Вариант для shell-скриптов, которые должны остаться работоспособными в Linux.
Остальные экраны обычно не требуют внимания: терминал MinTTY удобнее стандартной консоли Windows, credential helper лучше оставить Git Credential Manager, а включение поддержки символических ссылок имеет смысл только при включённом режиме разработчика или правах администратора.
Проверка установки и первая настройка
После установки закройте и откройте консоль заново: переменная PATH обновляется только в новых процессах. Затем проверьте версию и задайте данные автора коммитов.
git --version
git config --global user.name "Иван Петров"
git config --global user.email "ivan@example.com"
git config --global init.defaultBranch main
Имя и почта подставляются в каждый коммит. Без них git commit откажется работать и попросит представиться. Если для конкретного проекта нужен другой автор, выполните те же команды без флага --global внутри папки репозитория — локальные значения перекроют глобальные.
Посмотреть, из какого файла взялась настройка, помогает git config --list --show-origin. Ещё две полезные опции: core.longpaths true снимает ограничение длины пути в 260 символов, которое мешает при глубокой вложенности папок в проектах на Node.js, а core.editor задаёт редактор для сообщений коммитов — например, git config --global core.editor "code --wait" для VS Code.
Что обычно идёт не так после установки
Консоль отвечает «git не является внутренней или внешней командой». Либо окно не перезапускали, либо при установке выбран вариант «Git Bash only». Проще всего переустановить Git, выбрав вариант с добавлением в PATH, — правка переменных среды вручную требует аккуратности.
Коммит «зависает» и не завершается. Открылся редактор и ждёт ввода. В Vim нажмите Esc, затем наберите :q! и Enter, в Nano — Ctrl+X. После этого выберите редактором что-то более привычное.
git diff показывает изменённой всю строку, хотя правился один символ. Это следствие смешанных концов строк. Проверьте git config core.autocrlf и приведите его к одному значению; надёжнее задать правила в файле .gitattributes в корне репозитория.
Русские имена файлов выводятся наборами вида 320272. Git экранирует не-ASCII символы. Отключается командой git config --global core.quotepath false.
Частые вопросы об установке Git в Windows
Нужен ли Git Bash, если я работаю в PowerShell? Нет. Команда git полноценно работает в PowerShell и cmd, если выбран подходящий вариант PATH. Git Bash пригодится для Unix-команд и bash-скриптов, которых нет в Windows.
Чем установка через winget отличается от установщика? Команда winget install Git.Git ставит тот же Git for Windows, но без диалогов — все опции принимаются по умолчанию. Если нужны нестандартные PATH, редактор или переводы строк, быстрее пройти мастер вручную.
Можно ли поставить Git без прав администратора? Да. Вариант Scoop устанавливает пакет в профиль пользователя, а PortableGit из архива вообще не требует установки — достаточно распаковать папку и запустить git-bash.exe.
Обязательно ли указывать имя и почту? Для первого коммита — да, иначе Git откажется его создавать. Для клонирования и просмотра репозитория эти данные не нужны.
Начните с установщика с git-scm.com и примите вариант PATH с добавлением Git в командную строку, а в переводах строк оставьте core.autocrlf=true, если в проекте не задан .gitattributes. Сразу после установки задайте user.name и user.email, перезапустите консоль и проверьте её командой git --version. Дальше настройки можно менять в любой момент через git config — переустанавливать Git для этого не нужно.