Найти в Дзене
Путь джуна

Git для самых маленьких: как подружиться с системой контроля версий и не сойти с ума

Вы открываете терминал, пишете git commit -m "init", а он вам в ответ: fatal: not a git repository (or any of the parent directories). Вы гуглите ошибку, находите 100500 команд, ничего не понимаете и закрываете вкладку. Знакомо? Давайте разбираться. Git — это на самом деле просто. Очень просто. Представьте, что вы пишете диплом. День 1. Вы создали файл diplom.doc и написали там введение.
День 2. Вы открыли файл, переписали половину введения, сохранили. Старая версия потерялась навсегда.
День 3. Вы случайно удалили абзац и не можете вспомнить, что там было. Плачете. Git — это машина времени для ваших файлов. Вы можете в любой момент сказать: «Окей, Git, сохрани текущую версию». Потом экспериментировать, ломать, переписывать, а потом сказать: «Верни меня к той версии, которую я сохранил вчера». И всё вернётся. 1. Репозиторий (Repository)
Это просто папка, за которой Git следит. Если вы сказали Git: «Следи за папкой мой_проект» — значит, это репозиторий. 2. Коммит (Commit)
Это точка сохра
Оглавление

Если вы никогда не работали с Git, первая встреча с ним выглядит так:

Вы открываете терминал, пишете git commit -m "init", а он вам в ответ: fatal: not a git repository (or any of the parent directories). Вы гуглите ошибку, находите 100500 команд, ничего не понимаете и закрываете вкладку.

Знакомо? Давайте разбираться. Git — это на самом деле просто. Очень просто.

🧐 Что такое Git простыми словами

Представьте, что вы пишете диплом.

День 1. Вы создали файл diplom.doc и написали там введение.
День 2. Вы открыли файл, переписали половину введения, сохранили. Старая версия потерялась навсегда.
День 3. Вы случайно удалили абзац и не можете вспомнить, что там было. Плачете.

Git — это машина времени для ваших файлов.

Вы можете в любой момент сказать: «Окей, Git, сохрани текущую версию». Потом экспериментировать, ломать, переписывать, а потом сказать: «Верни меня к той версии, которую я сохранил вчера». И всё вернётся.

🗺️ Главные понятия (всего 4 штуки)

1. Репозиторий (Repository)
Это просто папка, за которой Git следит. Если вы сказали Git: «Следи за папкой мой_проект» — значит, это репозиторий.

2. Коммит (Commit)
Это точка сохранения. Как сохранение в игре. Вы сделали коммит — записали состояние всех файлов на этот момент. Можно откатиться сюда в любой момент.

3. Ветка (Branch)
Это альтернативная реальность. Представьте, что вы пишете диплом и думаете: «А что, если я перепишу третью главу по-другому?». Вы создаёте ветку новая_глава, экспериментируете там, а потом либо вливаете это в основной диплом, либо удаляете. Основная версия при этом не страдает.

4. GitHub
Это облако для ваших репозиториев. Чтобы не хранить код только на компьютере (он может сломаться), вы загружаете его на GitHub. Плюс другие люди могут смотреть ваш код и предлагать правки.

🚀 5 команд, с которых начнётся ваша жизнь

Команда 1: git init
Перевод: «Git, начни следить за этой папкой».
Делается один раз в начале проекта.

Команда 2: git add .
Перевод: «Git, добавь все файлы из этой папки в список на сохранение».
Точка означает «все файлы». Можно добавить конкретный файл: git add имя_файла.py.

Команда 3: git commit -m "описание"
Перевод: «Git, сохрани всё, что я добавил, с описанием "исправил баг с кнопкой"».
Кавычки — обязательно. Описание должно быть понятным.

Команда 4: git push
Перевод: «Git, отправь мои сохранения на GitHub».
После этой команды код появится в облаке.

Команда 5: git pull
Перевод: «Git, забери с GitHub всё новое, что там появилось».
Если вы работаете с кем-то в одной команде, сначала делаете pull (забираете чужие изменения), потом работаете сами.

🎮 Живой пример: как я пишу телеграм-бота

Утро. Я начинаю работать:

git pull

Забираю с GitHub то, что делал вчера.

Написал кусок кода. Он работает. Сохраняю:

git add .
git commit -m "добавил команду /start"

Написал ещё кусок. Тоже работает:

git add .
git commit -m "добавил обработку кнопок"

Вечер. Ухожу. Отправляю код в облако:

git push

На следующий день прихожу — всё на месте. Машина времени работает.

😱 Страшные ошибки, которые вы будете видеть (и что они значат)

Ошибка 1: fatal: not a git repository
Перевод: Ты не в той папке. Перейди в папку с проектом.

Ошибка 2: Please tell me who you are
Перевод: Git не знает, как тебя подписать. Напиши:

git config --global user.name "Твое Имя"
git config --global user.email "твой_email@example.com"

Ошибка 3: Merge conflict
Перевод: Вы и кто-то ещё изменили одну и ту же строчку. Git не знает, чьи правки верные. Открой файл, там будет примерно так:

<<<<<<< HEAD
твой код
=======
чужой код
>>>>>>> branch

Удали лишнее, оставь правильный вариант. Сделай commit.

💡 Главный секрет

Git можно учить годами. Там есть куча сложных штук. Но для старта вам нужно всего 5 команд, которые я написал выше. Остальное придёт с опытом.

Просто начните. Сломать ничего нельзя — у вас же машина времени.