Skip to content

Всё для WordPress, веб-разработки — и не только

🚀 Git для начинающих: первая инструкция по работе с GitHub

🚀 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 встал корректно:

1git --version

Если терминал показал версию (например, git version 2.48.0), установка прошла успешно.

2. Первичная настройка Git

До первого коммита Git нужно представиться. Имя и email попадут в историю каждого изменения, по ним коллеги поймут, кто автор правки.

1git config --global user.name "Ваше Имя"
2git config --global user.email "[email protected]"

Флаг --global записывает настройки глобально, они подхватятся для всех репозиториев на машине. Если для конкретного проекта нужны другие данные, повторите команду без --global, находясь в папке проекта.

Ещё два полезных флага:

1git config --global core.editor "code --wait" # редактор для сообщений коммитов
2git config --global init.defaultBranch main # ветка по умолчанию — main, не master

С 2020 года GitHub создаёт репозитории с веткой main вместо master. Строчка init.defaultBranch main синхронизирует вашу локальную установку с этим стандартом, избавит от путаницы в будущем.

Проверьте всё разом:

1git config --list

3. SSH-ключ и привязка к GitHub

GitHub отключил поддержку паролей для Git-операций в 2021 году. Сегодня стандарт, SSH-ключи, а алгоритм, Ed25519 (компактнее и безопаснее устаревшего RSA).

Сгенерируйте ключ:

1ssh-keygen -t ed25519 -C "[email protected]"

Нажмите Enter трижды: пустая парольная фраза, ок для локальной разработки. Терминал покажет fingerprint и путь к ключу:

Вывод команды ssh-keygen с Ed25519 ключом в терминале

Теперь скопируйте публичный ключ в буфер обмена. Команда зависит от ОС:

macOS:

1pbcopy < ~/.ssh/id_ed25519.pub

Linux (Ubuntu):

1cat ~/.ssh/id_ed25519.pub

Windows (Git Bash):

1clip < ~/.ssh/id_ed25519.pub

Осталось добавить ключ на GitHub. Зайдите в аккаунт, кликните по аватарке в правом верхнем углу и выберите Settings:

Меню настроек аккаунта GitHub с пунктом Settings

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

Страница управления SSH и GPG ключами в настройках GitHub

Нажмите зелёную кнопку New SSH Key. В поле Title дайте ключу осмысленное имя (например, «Ноутбук Asus»), в поле Key вставьте содержимое буфера обмена и нажмите Add SSH Key.

Проверьте соединение:

Ответ Hi username! You've successfully authenticated... означает, что всё настроено.

4. Создание репозитория и первая синхронизация

На github.com/new создайте новый репозиторий: задайте имя, оставьте Public или выберите Private, НЕ ставьте галочку «Add a README file» (иначе конфликт при первом push'е).

Теперь в терминале, перейдите в папку проекта и выполните цепочку:

1git init # инициализация Git в папке
2git add . # индексация всех файлов
3git commit -m "Первый коммит" # фиксация состояния

Свяжите локальную папку с удалённым репозиторием и отправьте изменения:

1git remote add origin [email protected]:yourname/yourproject.git
2git push -u origin main

Флаг -u запоминает связку «локальная ветка → удалённая». В следующий раз хватит простого git push.

Не забудьте .gitignore, в него заносят файлы, которые не должны попасть в репозиторий (логи, временные файлы IDE, папки зависимостей вроде node_modules/). Готовые шаблоны для любого стека берите на gitignore.io.

5. Клонирование репозитория

Клонирование, это скачивание чужого (или своего, но с GitHub) репозитория на локальную машину с полной историей изменений.

На странице репозитория нажмите зелёную кнопку Code:

Кнопка Code для клонирования репозитория на GitHub

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

Окно клонирования с вкладками HTTPS и SSH на GitHub

Скопируйте URL и выполните в терминале:

1git clone [email protected]:username/repository.git

Git создаст папку с именем репозитория и скачает туда все файлы плюс историю. После клонирования вы сразу можете начинать работу.

Для повседневной навигации по веткам используйте современные команды:

1git switch feature-branch # переключиться на существующую ветку
2git switch -c new-feature # создать новую ветку и переключиться
3git 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.