
🚀 Git для начинающих: первая инструкция по работе с GitHub
Вы написали код, но боитесь сломать рабочую версию. Или работаете в команде и теряетесь, кто и когда внёс правки. А может, просто хотите «откатить» неудачный эксперимент одной командой.
Всё это закрывает Git, система контроля версий, без которой не обходится ни один современный проект. Но порог входа многих отпугивает: терминал, SSH-ключи, ветки, pull request'ы.
На деле базовый рабочий цикл осваивается за час. Эта инструкция, именно про него: от установки до первого push'а, без воды и лишней теории.
💡 Быстрый обзор:
- Установите Git под вашу ОС и задайте имя пользователя одной командой
- Сгенерируйте SSH-ключ Ed25519 и привяжите его к аккаунту на GitHub
- Создайте репозиторий, свяжите с локальной папкой и выполните первый push
- Клонируйте существующий репозиторий через HTTPS или SSH для локальной работы
- Освойте современные команды git switch и git restore вместо git checkout
1. Установка Git
Git работает на Windows, macOS и Linux. Самый надёжный способ, скачать установщик с официального сайта git-scm.com.
Для Windows скачивайте 64-битную версию. В процессе установки мастер предложит выбрать редактор по умолчанию, стратегию обработки окончаний строк и терминал, для новичка подходят значения по умолчанию, кроме редактора: вместо Vim удобнее взять Nano или VS Code.
Детальная инструкция по установке Git на Windows (со скриншотами каждого шага мастера) уже есть в нашем блоге: как установить Git в Windows.
Проверьте, что Git встал корректно:
1 git --version
Если терминал показал версию (например, git version 2.48.0), установка прошла успешно.
2. Первичная настройка Git
До первого коммита Git нужно представиться. Имя и email попадут в историю каждого изменения, по ним коллеги поймут, кто автор правки.
1 git config --global user.name "Ваше Имя" 2 git config --global user.email "[email protected]"
Флаг --global записывает настройки глобально, они подхватятся для всех репозиториев на машине. Если для конкретного проекта нужны другие данные, повторите команду без --global, находясь в папке проекта.
Ещё два полезных флага:
1 git config --global core.editor "code --wait" # редактор для сообщений коммитов 2 git config --global init.defaultBranch main # ветка по умолчанию — main, не master
С 2020 года GitHub создаёт репозитории с веткой main вместо master. Строчка init.defaultBranch main синхронизирует вашу локальную установку с этим стандартом, избавит от путаницы в будущем.
Проверьте всё разом:
1 git config --list
3. SSH-ключ и привязка к GitHub
GitHub отключил поддержку паролей для Git-операций в 2021 году. Сегодня стандарт, SSH-ключи, а алгоритм, Ed25519 (компактнее и безопаснее устаревшего RSA).
Сгенерируйте ключ:
1 ssh-keygen -t ed25519 -C "[email protected]"
Нажмите Enter трижды: пустая парольная фраза, ок для локальной разработки. Терминал покажет fingerprint и путь к ключу:

Теперь скопируйте публичный ключ в буфер обмена. Команда зависит от ОС:
macOS:
1 pbcopy < ~/.ssh/id_ed25519.pub
Linux (Ubuntu):
1 cat ~/.ssh/id_ed25519.pub
Windows (Git Bash):
1 clip < ~/.ssh/id_ed25519.pub
Осталось добавить ключ на GitHub. Зайдите в аккаунт, кликните по аватарке в правом верхнем углу и выберите Settings:

В боковом меню перейдите во вкладку SSH and GPG keys:

Нажмите зелёную кнопку New SSH Key. В поле Title дайте ключу осмысленное имя (например, «Ноутбук Asus»), в поле Key вставьте содержимое буфера обмена и нажмите Add SSH Key.
Проверьте соединение:
1 ssh -T [email protected]
Ответ Hi username! You've successfully authenticated... означает, что всё настроено.
4. Создание репозитория и первая синхронизация
На github.com/new создайте новый репозиторий: задайте имя, оставьте Public или выберите Private, НЕ ставьте галочку «Add a README file» (иначе конфликт при первом push'е).
Теперь в терминале, перейдите в папку проекта и выполните цепочку:
1 git init # инициализация Git в папке 2 git add . # индексация всех файлов 3 git commit -m "Первый коммит" # фиксация состояния
Свяжите локальную папку с удалённым репозиторием и отправьте изменения:
1 git remote add origin [email protected]:yourname/yourproject.git 2 git push -u origin main
Флаг -u запоминает связку «локальная ветка → удалённая». В следующий раз хватит простого git push.
Не забудьте .gitignore, в него заносят файлы, которые не должны попасть в репозиторий (логи, временные файлы IDE, папки зависимостей вроде node_modules/). Готовые шаблоны для любого стека берите на gitignore.io.
5. Клонирование репозитория
Клонирование, это скачивание чужого (или своего, но с GitHub) репозитория на локальную машину с полной историей изменений.
На странице репозитория нажмите зелёную кнопку Code:

Откроется окно с тремя вариантами. Выберите SSH (если настроили ключ по шагу 3) или HTTPS:

Скопируйте URL и выполните в терминале:
1 git clone [email protected]:username/repository.git
Git создаст папку с именем репозитория и скачает туда все файлы плюс историю. После клонирования вы сразу можете начинать работу.
Для повседневной навигации по веткам используйте современные команды:
1 git switch feature-branch # переключиться на существующую ветку 2 git switch -c new-feature # создать новую ветку и переключиться 3 git restore file.txt # откатить изменения в файле
Они пришли на смену перегруженному git checkout в Git 2.23 и с тех пор стали стандартом. git checkout никуда не делся, но switch и restore safer и интуитивнее.
Если предпочитаете графический интерфейс, GitHub Desktop даёт визуальное управление клонированием, коммитами и ветками без терминала.
Видео: полный курс Git и GitHub за 2 часа
Для закрепления материала посмотрите исчерпывающий видеоурок на английском, от установки до продвинутых сценариев командной работы:
⁉️🤔 Частые вопросы
Чем Git отличается от GitHub?
Git, программа для контроля версий, работает у вас на компьютере. GitHub, веб-сервис, который хранит Git-репозитории в облаке и добавляет инструменты совместной работы: pull request'ы, code review, issues. Аналоги, GitLab и Bitbucket. Git может работать вообще без GitHub, но GitHub без Git не существует.
Нужно ли учить командную строку, если есть GitHub Desktop?
GitHub Desktop закрывает большинство повседневных задач, но терминал даёт полный контроль. Команды вроде
git rebase,git stashиgit cherry-pickв GUI не всегда очевидны. CI/CD, серверы и DevOps-сценарии работают только через CLI. Наш совет: начните с Desktop, а командную строку осваивайте параллельно, по 2-3 команды за раз.
Можно ли переименовать ветку master в main у существующего проекта?
Да, и это стандартная практика. Выполните:
git branch -m master main, затемgit push -u origin mainиgit push origin --delete master. После этого в настройках репозитория на GitHub поменяйте ветку по умолчанию на main.
Что делать, если Git отвергает push с ошибкой «failed to push some refs»?
Почти всегда причина в том, что на удалённом репозитории есть коммиты, которых нет у вас локально. Сперва сделайте
git pull --rebase origin main, разрешите конфликты если есть, затем повторитеgit push. Флаг--rebaseставит ваши коммиты поверх удалённых, история остаётся линейной.
Как отменить последний коммит, который ещё не ушёл на GitHub?
git reset --soft HEAD~1, коммит исчезнет, но изменения останутся в индексе (staged). Можно поправить и перекоммитить. Если изменения не нужны вовсе, применитеgit reset --hard HEAD~1, но будьте осторожны: жёсткий reset сбрасывает файлы безвозвратно.
Что дальше: ваш первый рабочий цикл
Итоговая картина после этой инструкции: Git установлен, SSH-ключ привязан, репозиторий создан и синхронизирован. Вы прошли путь от нуля до готового к работе окружения.
Дальше, практика. Начните с малого: сделайте три осмысленных коммита в тестовый проект, откройте ветку через git switch -c, добавьте файл и отправьте pull request на слив в main. Именно этот цикл (commit → branch → PR → merge) повторяется ежедневно в любой команде.
А когда освоитесь, возвращайтесь к нам за продвинутыми темами: git rebase, интерактивный stash, разрешение конфликтов слияния и настройка CI/CD на GitHub Actions.



