Запись архива

Как настроить Git в VS Code: от установки до первого push

Для работы Git в VS Code нужен установленный Git, а не только аккаунт GitHub. Редактор предоставляет интерфейс, Git хранит историю изменений, GitHub размещает удалённую копию репозитория. Локальные коммиты можно…

Как настроить Git в VS Code: от установки до первого push

Для работы Git в VS Code нужен установленный Git, а не только аккаунт GitHub. Редактор предоставляет интерфейс, Git хранит историю изменений, GitHub размещает удалённую копию репозитория. Локальные коммиты можно создавать без интернета и без регистрации на GitHub.

Ниже два маршрута: начать новый проект или скачать существующий репозиторий. Выберите один, чтобы случайно не создать вложенный Git-репозиторий внутри уже клонированного проекта.

Установите Git и проверьте его обнаружение

Установите Git из официального источника для своей ОС. После установки полностью перезапустите VS Code. В меню Terminal → New Terminal выполните:

git --version

Если версия отображается, откройте Source Control. Встроенной интеграции достаточно для клонирования, просмотра изменений и коммитов; устанавливать GitLens ради первого запуска не обязательно. Требование отдельного Git указано в официальном quickstart VS Code.

Если VS Code не обнаружил программу, в Windows выполните where.exe git, а в macOS/Linux command -v git. Сравните результат во внешнем и встроенном терминале. Не задавайте git.path чужим абсолютным путём до выяснения причины. Когда ручной путь действительно нужен, это пользовательская настройка, а не общая конфигурация репозитория.

Укажите имя и email автора

Git записывает имя и адрес автора в коммиты. Это не данные для входа в GitHub. Подставьте свои значения:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main
git config --list --show-origin

--global задаёт настройки для вашего пользователя. Для рабочего проекта с другим адресом выполните git config user.email "[email protected]" внутри его репозитория, без --global. Проверьте, какой конфигурационный файл задаёт значение, через --show-origin.

Адрес [email protected] является примером: не оставляйте его в реальных коммитах. Если не хотите публиковать личную почту, возьмите точный адрес noreply из настроек своего GitHub-аккаунта. Не выдумывайте его по образцу. Приоритет локальной и глобальной конфигурации объясняет руководство Git по первой настройке.

Вариант A: новый локальный проект

Создайте отдельную папку git-start и откройте её в редакторе. Добавьте файл README.md с кратким описанием. Откройте Source Control и нажмите Initialize Repository. Терминальный эквивалент из этой же папки:

git init
git status

Проверьте, что Git показывает файлы только этого проекта. Если в списке весь рабочий стол, остановитесь: выбран слишком широкий каталог. Не продолжайте массовое добавление файлов.

До первого коммита создайте .gitignore под используемые технологии. Пример для небольшого Python/JavaScript-проекта:

.env
.env.*
!.env.example
.venv/
__pycache__/
node_modules/
dist/

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

Вариант B: существующий репозиторий

Запустите Git: Clone из палитры команд, вставьте URL нужного репозитория, выберите родительскую папку и откройте результат. Не нажимайте Initialize Repository повторно: история уже скачана вместе с проектом.

Приватный репозиторий требует доступа к аккаунту или организации. Если ссылка открывается в браузере, это ещё не доказывает, что Git использует ту же учётную запись. Порядок клонирования и работы с remotes есть в документации VS Code.

Как сделать первый коммит через VS Code

Сохраните изменения и откройте Source Control. Нажмите на файл, чтобы просмотреть diff. Затем добавьте нужный файл в Staged Changes кнопкой +, введите понятное сообщение и выполните Commit.

Стадия staging определяет состав коммита. Это удобно, когда вы одновременно исправили код и случайно изменили настройки: не обязательно сохранять их одним пакетом. Не используйте Stage All, пока не просмотрели весь список.

Для нового учебного проекта тот же результат дают команды:

git add README.md .gitignore
git diff --cached
git commit -m "Add project description and ignore rules"
git status

git diff --cached показывает именно подготовленные изменения. При отсутствии дальнейших правок git status должен сообщить о чистом рабочем дереве. Порядок подготовки и сохранения изменений подробно разобран в главе Git о записи изменений.

Как подключить GitHub и выполнить push

В новом локальном репозитории VS Code может предложить Publish to GitHub. Перед подтверждением выберите видимость и ещё раз проверьте содержимое: публичный репозиторий доступен посторонним. Войдите через официальный браузерный процесс авторизации.

Альтернатива: создайте пустой репозиторий на GitHub и добавьте его как remote. Ниже учебный шаблон; замените YOUR_ACCOUNT своим аккаунтом и YOUR_REPOSITORY точным именем. Не выполняйте его в проекте с уже настроенным origin.

git remote -v
git remote add origin https://github.com/YOUR_ACCOUNT/YOUR_REPOSITORY.git
git branch --show-current
git push -u origin main

Последняя команда предполагает, что текущая ветка называется main и первый коммит уже создан. Для другого имени ветки используйте его. Если удалённый репозиторий уже содержит историю, сначала согласуйте её с локальной; не решайте конфликт через принудительный push.

GitHub не принимает обычный пароль аккаунта для Git-операций по HTTPS. Используйте предложенный браузерный вход через менеджер учётных данных, подходящий токен или SSH. Не помещайте токен прямо в URL репозитория: он может оказаться в истории команд и конфигурации. Варианты перечислены в документации GitHub об аутентификации.

Ошибки, которые часто принимают за неправильную настройку

Сообщение или симптом Что оно означает
Author identity unknown Не задано имя или email автора коммита
not a git repository Терминал открыт не в репозитории
remote origin already exists Remote уже добавлен; сначала посмотрите git remote -v
src refspec main does not match any Нет первого коммита либо ветка называется иначе
Permission denied (publickey) Для SSH не найден подходящий ключ или нет доступа
non-fast-forward На сервере есть история, которой нет в локальной ветке
Commit выполнен, на GitHub ничего нет Коммит локальный; нужен успешный push

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

Для проверки настройки измените одну строку README, сохраните отдельный коммит, выполните push и убедитесь, что на GitHub появились этот коммит и его содержимое. После этого Git можно использовать как контрольные точки перед задачами Codex, а не как аварийную кнопку после большой непроверенной правки.