Модуль 1 · Что такое контроль версий

Справочник по Git и GitHub · модуль 1 · что такое контроль версий

Глава 1.3

1.3

Установка Git
и VS Code

В главе по шагам разобраны установка и настройка двух программ, отдельно для каждой системы. Если система в шапке определилась неверно, переключите её кнопкой: инструкции изменятся.

Категория
Рабочее место
Уровень
Начальный
Связанные темы
Панель Source Control, первый репозиторий
Зачем это знать
Подготовить компьютер к работе и подписать коммиты своим именем

§1Какие программы устанавливаются

Программы две, назначение у них разное. Git — инструмент контроля версий: ведёт историю и выполняет все операции с ней. Окна у него нет, он работает в командной строке и отвечает на запросы других программ. Visual Studio Code — редактор кода: в нём пишут и нажимают кнопки, а работу с историей он передаёт установленному Git.

Порядок важен: сначала Git, потом редактор. VS Code ищет Git при запуске, и если поставить его вторым, панель Source Control останется пустой до перезапуска.

На полях: на общем компьютере они уже могут стоять

Если за компьютером до вас работали, обе программы, скорее всего, установлены, это проверяется в §4. Тогда переходите к §7: настройки Git привязаны к учётной записи, и ваши придётся задать заново.

§2Шаг 1. Скачать Git

Git скачивают с сайта проекта: git-scm.com/downloads. Сборки с других сайтов проект не проверяет.

Страница загрузки Git для Windows на git-scm.com
Страница git-scm.com/downloads/win. Верхняя ссылка Click here to download сразу отдаёт нужный установщик — версия и разрядность подобраны сайтом.

Скачается файл вида Git-2.55.0-64-bit.exe размером около 70 МБ. Номер версии у вас может быть больше.

Страница загрузки Git для macOS на git-scm.com
Страница git-scm.com/downloads/mac. На macOS способов несколько, и скачивать установщик обычно не нужно — подробности на следующем шаге.

На macOS Git устанавливают командой в терминале. Установщик с сайта нужен, только если терминал недоступен.

В Linux Git ставится из репозитория дистрибутива одной командой — скачивать с сайта ничего не нужно. Команды для разных систем на следующем шаге.

§3Шаг 2. Установить Git

Запустите скачанный файл. Установщик задаст около десяти вопросов; почти везде подходит предложенный вариант, но четыре экрана стоит пройти внимательно.

  1. Select Components — оставьте как есть. Пункт Windows Explorer integration добавляет в контекстное меню папки команду «Open Git Bash here», она пригодится.
  2. Choosing the default editor — выберите Use Visual Studio Code as Git's default editor, если редактор уже стоит. Иначе оставьте Vim и вернитесь к этому позже: Vim закрывается сочетанием Esc, затем :q! и Enter.
  3. Adjusting the name of the initial branch — выберите Override the default branch name и оставьте main. Так называется главная ветка на GitHub; со старым именем master придётся каждый раз переименовывать.
  4. Adjusting your PATH environment — оставьте средний вариант Git from the command line and also from 3rd-party software. С ним VS Code находит Git.

Остальные экраны — про библиотеку SSL, окончания строк и терминал — проходите с предложенными значениями. Окончания строк разобраны в §9.

Способов два. Первый проще: Git ставится вместе с инструментами разработчика, которые система предлагает сама.

Терминалвариант 1: инструменты разработчика Apple
xcode-select --install

Откроется окно системы с предложением установить Command Line Tools. Нажмите Install и дождитесь конца — Git будет в комплекте.

Терминалвариант 2: через Homebrew
brew install git

Этот вариант даёт более свежую версию и удобное обновление. Он подходит, если Homebrew уже установлен; ставить его ради одного Git не обязательно.

ТерминалDebian, Ubuntu и производные
sudo apt update
sudo apt install git
ТерминалFedora, RHEL
sudo dnf install git

Пакет называется одинаково почти везде. В Arch — sudo pacman -S git, в openSUSE — sudo zypper install git.

§4Шаг 3. Проверить, что Git на месте

Откройте терминал (Win + R, наберите cmd, или запустите Git Bash из меню «Пуск»)(Cmd + Пробел, наберите «Терминал»)(Ctrl + Alt + T) и выполните одну команду:

Терминалпроверка установки
git --version
ВыводGit установлен и отвечает
git version 2.51.1

Номер версии может отличаться. Если команда напечатала версию, Git установлен. Если вместо этого вы видите «"git" не является внутренней или внешней командой»«command not found: git», причины разобраны в §11.

§5Шаг 4. Установить VS Code

VS Code скачивают с сайта разработчика: code.visualstudio.com/download.

Страница загрузки Visual Studio Code с вариантами для Windows, Linux и Mac
Три колонки — три системы. Выбирайте свою: Windows 10, 11 — синяя кнопка слеваMac, macOS 12.0+ — кнопка справа.deb для Debian и Ubuntu, .rpm для Fedora и RHEL — по центру.

Запустите установщик. На экране Выбор дополнительных задач отметьте три пункта:

  1. Add "Open with Code" action to Windows Explorer file context menu — правый клик по файлу откроет его в редакторе.
  2. Add "Open with Code" action to Windows Explorer directory context menu — то же для папки. Так обычно открывают проект.
  3. Add to PATH — позволит запускать редактор командой code из терминала.

Скачается архив. Распакуйте его двойным кликом и перетащите Visual Studio Code в папку Программы. Иначе редактор останется в папке «Загрузки».

Затем добавьте команду code в терминал: откройте редактор, нажмите Cmd + Shift + P, наберите shell command и выберите Install 'code' command in PATH. После этого любую папку можно открыть из терминала командой code .

Скачанный пакет ставится менеджером пакетов:

ТерминалDebian, Ubuntu
sudo apt install ./code_*.deb

В Fedora и RHEL — sudo dnf install ./code-*.rpm. Команда code появится в терминале сразу.

§6Шаг 5. Осмотреть окно VS Code

Запустите редактор. Пока проект не открыт, окно выглядит так:

Окно VS Code без открытого проекта: панель Source Control слева, приветственная вкладка справа
Слева открыта панель Source Control: она сообщает, что проекта ещё нет, и предлагает открыть папку или склонировать репозиторий. Справа — приветственная вкладка со списком последних проектов.

Четыре части окна, которые используются дальше:

ЧтоГдеКак открыть
Проводник (Explorer)верхний значок на левой полосеCtrlCmd + Shift + E
Source Controlзначок с развилкой на левой полосеCtrlCmd + Shift + G
Терминалнижняя часть окнаCtrlCtrl + ~
Палитра командвыпадает сверхуCtrlCmd + Shift + P
Панель Source Control в VS Code
В панели Source Control идёт работа второго модуля: список изменённых файлов, поле для пояснения и кнопка Commit.

Палитра команд заменяет поиск по меню: набранная часть названия сразу даёт список подходящих команд. Действия с Git тоже доступны через неё — по слову git.

§7Шаг 6. Задать имя и почту

Каждый коммит подписан именем и почтой автора: подпись хранится внутри самого коммита. Пока подпись не задана, Git либо откажется делать коммит, либо подставит имя учётной записи и имя компьютера. Отказ выглядит так:

Выводкоммит без имени и почты
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

Выполните две команды, подставив своё имя и почту:

Терминалвыполняется один раз на компьютере
git config --global user.name "Иван Петров"
git config --global user.email "ivan.petrov@example.com"

Ключ --global означает «для всех проектов на этом компьютере»: настройки лягут в файл .gitconfig в домашней папке. Проверка:

git config --global --listкак выглядит результат
user.name=Иван Петров
user.email=ivan.petrov@example.com
init.defaultbranch=main

Коммит создаётся и подписывается вашим именем:

git logподпись в готовом коммите
7d861b0 Иван Петров <ivan.petrov@example.com>
Проба
На полях: почта должна совпадать с той, что на GitHub

GitHub связывает коммит с вашим профилем по адресу почты. Если указан другой адрес, коммиты появятся в репозитории без ссылки на ваш профиль и без отметки в вашей активности. Укажите тот же адрес, что в аккаунте. Если адрес скрыт настройкой приватности, GitHub выдаёт служебный вида 12345678+login@users.noreply.github.com — он подходит.

Имя пишите настоящее и полностью — по нему в истории видно, чей коммит.

Ассоциация: подпись на документе

В жизни

Документ без подписи не имеет силы: непонятно, кто его составил и с кого спрашивать. Подпись ставится один раз при оформлении и дальше идёт с каждым листом.

В Git

user.name и user.email — это ваша подпись. Задаётся один раз на компьютере и автоматически попадает в каждый коммит. Без неё Git отказывается фиксировать изменения.

Где не совпадаетПодпись на бумаге подделать трудно, а подпись в Git — это текст в настройках, указать можно любое имя. Подлинность проверяется доступом к репозиторию и, при необходимости, криптографической подписью коммита. Она разобрана в модуле про GitHub.

§8Шаг 7. Войти в аккаунт GitHub

Настройка Git подписывает коммиты, вход в GitHub даёт редактору право отправлять их на сайт. На общем компьютере начните с проверки: в редакторе может быть открыт чужой аккаунт.

Меню аккаунта в VS Code: значок человечка внизу слева
Значок человечка в самом низу левой полосы открывает меню аккаунта. Если в нём стоит чужое имя — выйдите через Sign out, иначе ваши коммиты уйдут в чужой репозиторий.
Пункт Sign in в меню аккаунта VS Code
Вход — тот же значок, пункт Sign in with GitHub. Откроется браузер, там нужно нажать Authorize: так редактор получает разрешение работать с вашими репозиториями.
Проверка: в меню аккаунта стоит имя пользователя
Проверка после входа: в меню стоит ваш логин. Так проверяют, что отправка пойдёт от вашего имени.

Пароль при этом нигде не вводится и не хранится: редактор получает от GitHub временный ключ доступа. Устройство ключей и ручная выдача — в четвёртом модуле.

§9Шаг 8. Имя главной ветки и окончания строк

Эти две настройки задают имя главной ветки и окончания строк.

Терминалимя главной ветки
git config --global init.defaultBranch main

Новые репозитории начнутся с ветки main — так же, как на GitHub. Без этой настройки Git старых версий создаёт ветку master, и при первой отправке на сайт появляются две главные ветки вместо одной.

Терминалокончания строк, Windows
git config --global core.autocrlf true

Windows завершает строки двумя символами, Linux и macOS — одним. Без этой настройки файл, пришедший от однокурсника с другой системой, Git покажет как изменённый целиком: каждая строка «поменялась», хотя текст тот же. Значение true означает «в репозиторий записывать как в Linux, в рабочей папке держать как в Windows».

Терминалокончания строк, macOS и Linux
git config --global core.autocrlf input

Windows завершает строки двумя символами, а macOS и Linux — одним. Значение input означает «записывать в репозиторий по-своему, чужие окончания не портить». Без этого файл, пришедший с Windows, Git показывает как изменённый целиком: каждая строка «поменялась», хотя текст тот же.

Третья настройка относится к редактору. Откройте в VS Code меню File → Preferences → Settings (или Cmd + ,)(или Ctrl + ,), найдите Git: Autofetch и включите. Редактор будет сам проверять, не появились ли изменения на GitHub, и покажет их стрелкой в нижней строке. По ней видно, что локальная копия устарела.

Зачем эти настройки на работе

  • Подпись определяет, чья это работа. По ней в компании видно, кто автор изменения, к кому идти с вопросом и чей вклад за месяц. При неверной почте коммиты не связываются с профилем и не попадают в статистику проекта.
  • Имя ветки должно совпадать с принятым в команде. Расхождение main и master ломает автоматические проверки и правила, настроенные на конкретное имя ветки.
  • Окончания строк — частая причина «изменился весь файл». В смешанной команде, где часть людей на Windows, а часть на macOS, без этой настройки на ревью показан весь файл вместо изменённых строк.
  • Чужой аккаунт в редакторе. На общем компьютере коммиты уходят от имени предыдущего человека, а доступ к вашим репозиториям остаётся у того, кто сядет следующим.

Все эти настройки задаются один раз.

§10Проверка готовности

Всё из списка должно выполняться без ошибок. Если что-то не сходится — §11.

Рабочее место готово, когда

Git отвечаетКоманда git --version печатает номер версии.
Подпись заданаgit config --global --list показывает ваши user.name и user.email.
Почта совпадает с GitHubТот же адрес, что в настройках вашего аккаунта, или служебный noreply.
VS Code запускается и видит GitПанель Source Control предлагает открыть папку или склонировать репозиторий. Сообщения об отсутствии Git нет.
В аккаунте выВ меню человечка внизу слева стоит ваш логин GitHub.
Ветка по умолчанию — mainВ выводе конфигурации есть init.defaultbranch=main.

§11Что делать, если не работает

Что видноПочемуЧто сделать
"git" не является внутренней или внешней командойcommand not found: git Терминал не знает, где лежит программа: он запомнил пути при запуске Закройте и откройте терминал заново; если не помогло — переустановите Git, выбрав на экране PATH средний вариант
VS Code пишет Git not found Редактор искал Git при запуске, а тот появился позже Перезапустите VS Code целиком, не только окно
Please tell me who you are Не заданы имя и почта Выполните две команды из §7
detected dubious ownership in repository Папка проекта принадлежит другой учётной записи — так бывает на общем компьютере Скопируйте проект в свою домашнюю папку. Если нужен именно этот путь: git config --global --add safe.directory путь
Коммиты на GitHub без вашего аватара, автор — незнакомое имя Почта в настройках Git не совпадает с почтой аккаунта Исправьте user.email и сделайте новый коммит. Прежние подписи не изменятся: они уже часть истории
Каждый файл показан изменённым целиком после клонирования Разные окончания строк Задайте core.autocrlf из §9 и склонируйте проект заново

§12Проверьте себя

Почему Git ставят раньше VS Code?

Редактор ищет Git при запуске. Если редактор установлен раньше, панель Source Control сообщит, что Git не найден, и это сообщение останется до перезапуска редактора.

Чем отличается вход в аккаунт GitHub от команды git config user.name?

user.name и user.email — подпись, которая попадает внутрь каждого коммита на вашем компьютере; она работает и без интернета. Вход в аккаунт даёт редактору право отправлять коммиты на сайт. Можно быть подписанным одним именем и войти под другим аккаунтом — тогда коммиты окажутся в репозитории, но не свяжутся с профилем.

Что делает ключ --global в командах настройки?

Записывает настройку в файл .gitconfig в домашней папке, то есть применяет её ко всем вашим проектам на этом компьютере. Без ключа настройка попадёт в .git/config текущего репозитория и будет действовать только в нём — это удобно, когда для одного проекта нужна другая почта.

Зачем менять имя начальной ветки на main?

Чтобы оно совпадало с именем, которое использует GitHub. Иначе после первой отправки в репозитории окажутся две ветки — master с вашей работой и main, созданная сайтом, — и придётся разбираться, какая главная.

Вы сделали коммиты, а на GitHub автор указан как незнакомый человек. Что произошло и что теперь делать?

В настройках Git стоит не та почта: сайт связывает коммит с профилем по ней. Задайте правильный адрес командой из §7 — следующие коммиты подпишутся верно. Уже сделанные останутся как есть: подпись входит в содержимое коммита, и остаётся в истории.

Объясните своими словами, зачем настраивать окончания строк.

Windows и остальные системы помечают конец строки по-разному. Если это не согласовать, Git будет считать, что при переходе файла между системами изменилась каждая строка, и покажет изменённым весь файл. Настройка core.autocrlf приводит записи в репозитории к одному виду.

§13Шпаргалка по главе

Проверить установку git --version code --version
Имя и почта git config --global user.name "Имя" git config --global user.email "почта"
Посмотреть настройки git config --global --list git config --global --show-origin --get user.name
Ветка и строки git config --global init.defaultBranch main git config --global core.autocrlf true git config --global core.autocrlf input
Сочетания клавиш CtrlCmd+Shift+G — Source Control Ctrl+~ — терминал CtrlCmd+Shift+P — палитра команд
Если не работает перезапустить терминал перезапустить VS Code проверить PATH

Итог главы

Рабочее место готово: Git ведёт историю, VS Code даёт кнопки, коммиты подписаны вашим именем и почтой, редактор знает ваш аккаунт GitHub. Имя начальной ветки и окончания строк настроены — это снимает две частые причины непонятных изменений в проекте. Первый модуль на этом закончен, дальше — первый репозиторий и работа в панели Source Control.

Откуда взяты факты
  1. Страницы загрузки и номера версий — git-scm.com/downloads и code.visualstudio.com/download, кадры сняты 16 сентября 2026 года.
  2. Тексты ошибок и выводы команд получены запуском Git на чистой учётной записи; версия 2.51.1.
  3. Настройки user.name, user.email, init.defaultBranch, core.autocrlf — документация git config.
  4. Связь коммитов с профилем по адресу почты и служебный адрес noreply — документация GitHub.
  5. Кадры VS Code сняты на компьютере курса.
Глава 1.3 · Установка Git и VS Code · Справочник по Git и GitHub Автор: Макаров Максим Николаевич