Что такое…

Что такое репозиторий — и почему это не папка на GitHub, а машина времени

Иллюстрация: папка проекта с лентой сохранённых версий, уходящей в прошлое

Смотри, тут почти все новички путаются. Слышат «репозиторий» — представляют папку с кодом где-то на GitHub, в облаке. Логично, но мимо.

На самом деле репозиторий живёт у тебя на ноутбуке, в скрытой папке рядом с кодом. И это не просто папка — это машина времени. Он хранит каждую версию проекта: можешь вернуться к тому, что было вчера, неделю назад или до того, как ты всё сломал одной строчкой. GitHub — всего лишь одно из мест, где можно держать копию. Разберём по порядку.

Что это такое — проект плюс вся его история

Репозиторий (repository, в народе «репо») — это папка твоего проекта, за которой следит система контроля версий, обычно Git.

Обычная папка помнит только текущее состояние файлов. Репозиторий помнит все состояния: каждое сохранение, кто и что менял, когда и зачем. Это как история правок в Google Docs, только для любого проекта — кода, текста, конфигов.

Ключевая мысль: репозиторий = твои файлы + вся их история. Убери историю — останется обычная папка.

Репозиторий ≠ GitHub — важная разница

Это главная путаница, поэтому скажем прямо.

  • Git — программа, которая ведёт историю. Работает у тебя на компьютере.
  • Репозиторий — конкретный проект под присмотром Git (папка + история).
  • GitHub — сайт, где можно хранить копию репозитория в облаке и делиться ей.

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

Есть и альтернативы GitHub — GitLab, Bitbucket, Gitea. Все они хранят те же самые Git-репозитории.

Что лежит внутри

Когда ты в папке проекта выполняешь git init, Git создаёт внутри скрытую папку .git. Вот она и делает обычную папку репозиторием. Удалишь .git — история пропадёт, останется просто набор файлов.

Внутри истории лежат коммиты (commits). Коммит — это сохранённый снимок проекта в конкретный момент, с подписью: что изменилось и зачем.

a3f9c  «добавил кнопку входа»       ← сегодня
7b2e1  «поправил цвет шапки»          ← вчера
1c8d4  «первый коммит»                ← начало

Каждый коммит — точка, к которой можно вернуться. Сломал проект? Откатываешься на коммит назад — и всё как было. Это и есть та самая машина времени.

Локальный и удалённый — зачем две копии

Обычно у репозитория две копии, и это нормально:

  • Локальный (local) — на твоём компьютере. Здесь ты работаешь: меняешь файлы, делаешь коммиты.
  • Удалённый (remote) — на GitHub или другом сервисе. Копия в облаке.

Ты синхронизируешь их двумя движениями: push — отправить свои коммиты в облако, pull — забрать чужие изменения к себе. Именно так работают в команде: каждый у себя локально, общий центр — на GitHub. А когда ты хочешь предложить свои изменения в чужой проект, ты делаешь pull request — «прошу влить мою ветку». Если это звучит как каша — не пугайся, на практике всё осваивается за вечер: как пользоваться Git новичку.

Заодно про ветки (branch)

Раз уж говорим о репозитории — там живут ещё и ветки. Ветка — это отдельная линия изменений: ты как бы делаешь копию проекта «вбок», спокойно экспериментируешь в ней, а если сломаешь — основная версия цела и невредима. Получилось хорошо — вливаешь ветку обратно в основную. Готово, идея добавлена. Именно ветки превращают репозиторий из «истории» в безопасную песочницу, где не страшно пробовать.

Мне нужен репозиторий для маленького проекта?

Да, и чем раньше — тем лучше. Даже для проекта из одного файла. Один git init в начале — и у тебя есть кнопка «отменить» на весь проект, а не только на последнее действие в редакторе. Первый раз, когда ИИ-ассистент перепишет пол-проекта не туда, ты скажешь спасибо этой привычке.

Репозиторий и папка проекта — это одно и то же?

Почти. Папка проекта становится репозиторием в момент, когда внутри появляется .git (после git init или git clone). До этого — просто папка с файлами. После — папка с файлами и памятью обо всех изменениях.

Учись вайб-кодингу, а не просто читай о нём

Короткие уроки-истории, симулятор агента и ежедневная практика — в нашем мобильном приложении. Бесплатно.

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →