Перейти к содержанию
Программа курса

Git и GitHub с нуля

Перестать терять работу: снимки, отправка наружу и уверенность, что вчерашнюю версию можно вернуть.

0,6 ч · на выходе: Рабочий проект в приватном репозитории с заполненным .gitignore.

Цель модуля

Перестать терять работу. Четыре понятия, две команды в день и уверенность, что вчерашнюю версию можно вернуть.

Тот раздел, который обычно пропускают, а потом теряют работу. Читается за пять минут.

Аналогия на пальцах

Представьте папку с финмоделью. Вы правите её каждый день. Git это фотоаппарат: по вашей команде он делает снимок всей папки и подписывает, что именно вы меняли. Снимки лежат стопкой, любой можно вернуть. GitHub это общий сейф в интернете, куда вы относите копию стопки: чтобы не потерять при поломке ноутбука и чтобы коллега мог взять оттуда свежее.

Что такое коммит

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

Что такое GitHub и зачем он нужен

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

commit

Зафиксировать текущее состояние с подписью. Локально, никто ещё не видит.

push

Отправить свои коммиты на GitHub. Теперь работа существует не только у вас.

pull

Забрать свежее, что запушили другие. Делается перед работой.

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

Что делать руками, а что поручить

Наизусть git учить не нужно: говорите «закоммить и запушь», модель сделает. Два момента проверяйте сами. Первый: git status перед коммитом, чтобы случайно не утащить лишние файлы. Второй: после пуша откройте репозиторий на GitHub и убедитесь, что изменения там.

Тонкости, которые ловят на практике

Работаете параллельно в двух сессиях или на двух машинах: перед пушем всегда git pull --rebase, иначе получите отказ и соблазн решить его силой. В общей ветке выручает именно rebase: принудительный пуш затирает работу коллег. И .gitignore заполняется до первого коммита: история помнит всё, что в неё попало, удаление файла следующим коммитом ничего не стирает.

Поставить git и GitHub CLI

1

Установка.

: git вы, скорее всего, уже поставили вместе с Claude Code. Тогда нужна только вторая команда.

winget install --id Git.Git
winget install --id GitHub.cli

После установки закройте PowerShell и откройте заново, иначе команды не найдутся.

:

brew install git gh

Git на macOS часто уже стоит вместе с инструментами разработчика. Ничего страшного: brew просто скажет, что он на месте. Нет самого brew: поставьте Homebrew с brew.sh, это одна команда с их главной страницы.

Проверка:

git --version
gh --version

Вы должны увидеть по номеру версии от каждой команды, без ошибок.

2

Завести GitHub и подключить его.

Регистрация на github.com/join: почта, пароль (от 15 символов, либо от 8 с цифрой и строчной буквой), username латиницей, страна.

gh auth login

Команда задаст четыре вопроса подряд. Отвечайте так: аккаунт GitHub.com, протокол HTTPS, на «Authenticate Git with your GitHub credentials» отвечайте Y (иначе git будет спрашивать пароль на каждое действие), способ входа Login with a web browser. Скопируйте показанный код, нажмите Enter и вставьте код в открывшемся окне браузера.

Выбор делается стрелками вверх и вниз, подтверждение Enter. Мышка в этом окне не работает, это нормально.

Вы должны увидеть «Logged in as ваш-username». Проверить отдельно: gh auth status.

3

Завести репозиторий под свою работу.

cd ~/work/claude/moy-proekt
git init
gh repo create --private --source=. --remote=origin

Флаг --private здесь не украшение. Публичный репозиторий индексируется поисковиками в течение часов, и вернуть это назад нельзя.

Дальше обычный день выглядит так:

git add -A
git commit -m "что поменял"
git push

Первую строку читайте глазами: git add -A берёт всё, включая то, что вы туда класть не собирались.

Что должно получиться

Работа лежит в приватном репозитории, коммит и push не пугают, .gitignore заполнен до первого коммита.

Практика6 шагов · 0,6 ч

Что сделать

Результат: Рабочий проект в приватном репозитории с заполненным .gitignore.