Если когда-то в папке проекта заводились файлы с названиями вроде final_v7_точно_последняя, вам пора познакомиться с нормальной историей изменений. Git берет на себя память, дисциплину и порядок, а GitHub дает удобную площадку для хранения кода и совместной работы. Это не околокодерская мода, а насущная необходимость, которая экономит часы и нервы.
Перед вами Git и GitHub для начинающих: полное руководство от установки до первого коммита, написанное так, чтобы можно было повторить шаги сразу. Без лишних кругов по терминологии и суеты, но с тем, что пригодится в реальной работе. Делаем установку, настраиваем имя, создаем репозиторий, отправляем изменения в облако и фиксируем базовую практику.
Зачем вообще Git и чем GitHub отличается
Git — это система контроля версий на вашем компьютере. Она хранит снимки состояния проекта, позволяет ветвиться, сливать изменения, откатываться и видеть, кто и что изменил. Никаких магий, только прозрачная история с метками времени и понятными сообщениями.
GitHub — это хостинг для репозиториев и набор инструментов вокруг них. Здесь живут удаленные копии проектов, запросы на изменения, обсуждения, проверки, релизы. Git работает локально, GitHub помогает синхронизироваться с командой и с вашим будущим «я» на другом ноутбуке.
Установка и первичная настройка
С установкой все просто. На Windows скачайте официальный установщик с сайта git-scm.com, на macOS подойдет Homebrew, на популярных Linux дистрибутивах есть пакеты из репозиториев. Ниже короткая шпаргалка.
| Платформа | Как установить |
|---|---|
| Windows | Скачать с git-scm.com и установить через мастер |
| macOS | brew install git или xcode-select —install |
| Ubuntu/Debian | sudo apt update и sudo apt install git |
| Fedora | sudo dnf install git |
Проверьте, что все встало: в терминале выполните git —version. Затем задайте имя и почту, которые попадут в историю коммитов: git config —global user.name «Ваше Имя» и git config —global user.email «почта@example.com». Рекомендую сразу указать основную ветку как main через git config —global init.defaultBranch main.
Полезно назначить удобный редактор сообщений, если стандартный вам не по душе. Например, для VS Code подойдут команды git config —global core.editor «code —wait» и для более аккуратного вывода статуса git config —global status.short true. Эти мелочи экономят время каждый день.
Создаем репозиторий и делаем первый коммит
Выберите папку для проекта и инициализируйте репозиторий. Создайте простой файл, добавьте его в индекс и зафиксируйте изменение. Это и есть ваш первый снимок истории.
mkdir hello-git && cd hello-git
git init
echo "Привет, Git" > README.md
git add README.md
git commit -m "Первый коммит: добавлен README"
Команда git add готовит изменения к фиксации, а git commit создает точку в истории. Сообщение пишите коротко и по делу, в повелительном наклонении, чтобы через полгода никто не гадал, о чем шла речь. Пример: «Добавить форму входа», «Исправить обработчик ошибок».
Готовим площадку на GitHub и отправляем изменения
Заведите аккаунт на GitHub, нажмите New и создайте пустой репозиторий с именем hello-git. Если локальный репозиторий уже есть, не добавляйте на GitHub автоматический README или .gitignore, чтобы избежать конфликтов. Теперь свяжем локальный проект с удаленным.
git branch -M main
git remote add origin https://github.com/ВАШ_ЛОГИН/hello-git.git
git push -u origin main
Доступ можно настроить по HTTPS или по SSH. HTTPS проще на старте, SSH удобнее при частых пушах без постоянного ввода пароля. Для SSH сгенерируйте ключ командой ssh-keygen -t ed25519 -C «почта@example.com», добавьте публичный ключ в настройках GitHub и используйте адрес вида git@github.com:ВАШ_ЛОГИН/hello-git.git.
- HTTPS: быстро начать, подходит на личном ноутбуке с менеджером паролей.
- SSH: удобно в долгой перспективе, особенно если работаете на нескольких машинах.
Мини-практика: как выглядит обычный цикл работы
Чтобы не утонуть в абстракциях, держите простой распорядок дня. Он укладывается в несколько шагов и дисциплинирует проект уже с первого спринта. Повесьте эту схему рядом с монитором и следуйте ей до автоматизма.
- Перед началом работы подтяните изменения: git pull —rebase origin main.
- Внесите правки, проверяйте себя через git status и git diff.
- Добавляйте выборочно: git add -p, чтобы не тащить лишнее.
- Фиксируйте: git commit -m «Короткое сообщение».
- Отправляйте: git push origin main и открывайте Pull Request, если работаете в команде.
Частые ошибки и быстрые решения
Случается, что первый блин комом. Хорошо, когда под рукой короткие рецепты, которые снимают боль за минуту и не заставляют лазить по форумам ночами. Ниже те случаи, которые встречал чаще всего.
- Коммиты без имени и почты. Лечится так: git config —global user.name и user.email, затем новый коммит.
- Случайно добавили мусор. Создайте .gitignore и положите туда лишнее: .DS_Store, node_modules/, .env. Список под конкретный стек берите из шаблонов GitHub.
- Закоммитили тяжелый файл. GitHub не примет более 100 МБ. Используйте Git LFS для двоичных артефактов или храните крупные данные вне репозитория.
- Нужно подправить последний коммит. Команда git commit —amend спасает, если забыли файл или опечатались в сообщении.
- Работа в не той ветке. Создайте новую: git switch -c feature/x, затем перенесите нужные коммиты или сделайте аккуратный cherry-pick.
Шпаргалка на ладони
Пара команд, которые стоит запомнить сразу. Они покрывают 80 процентов рутины и делают процесс спокойнее. Остальное изучите по мере надобности, без надрыва.
git status # что изменено
git diff # что именно поменялось
git log --oneline # история кратко
git restore --staged файл # убрать из индекса
git reset --hard HEAD # откатить рабочие файлы к последнему коммиту
Что дальше
Когда первый путь от установки до коммита пройден, можно расширять горизонты: разберитесь с ветками, откройте свой первый Pull Request, попробуйте rebase и посмотрите на теги и релизы. Подтяните привычки кода ревью и научитесь писать говорящие сообщения коммитов. Дальше войдет в ритм, и контроль версий начнет работать на вас, а не наоборот.
Мне когда-то хватило одного вечера, чтобы уйти от хаоса файлов с припиской «финал». С тех пор любой проект дышит свободнее: история прозрачна, изменения объяснимы, совместная работа не превращается в переписку скриншотами. Пусть и у вас первый коммит станет точкой, с которой начнется уверенность в собственном коде.