Git
В прошлых уроках мы работали с Claude в чате: писали промпты, искали в интернете, разбирали документы. Дальше начнем собирать настоящие проекты, и им нужно надежное место для хранения, чтобы ничего не потерялось и можно было вернуться к любой версии. Поэтому прежде чем перейти к агентам, познакомимся с GitHub.
GitHub — это крупнейший сервис для хранения и публикации кода, которым пользуются разработчики, а теперь и многие из тех, кто создает программы с ИИ. В этом уроке мы познакомимся с этим проектом, изучим его интерфейс и возможности, которые нам понадобятся в будущем. В уроке будет много новой терминологии, которую необязательно запоминать сразу, но полезно знать, потому что она встречается повсеместно. В дальнейших уроках мы регулярно будем использовать знания, полученные в этом уроке.
Чтобы изучение было легче, рекомендуется выполнять все действия на GitHub одновременно с чтением, чтобы сразу видеть и привыкать к интерфейсу и новым понятиям.
Начнем немного издалека, сначала поговорим про Git, который лежит в основе работы с кодом. Скоро вы будете создавать с агентами свои инструменты, например, программу, которая скачивает видео из YouTube и собирает на его основе статью. В процессе вы будете регулярно просить ИИ доработать то одну часть, то другую, а сама программа будет лежать в папке на вашем компьютере. Что в этот момент может пойти не так?
ЧТО МОЖЕТ ПОЙТИ НЕ ТАК
Почему проекту нужна история изменений
ИИ может случайно все сломать или даже полностью стереть код по ошибке.
Иногда хочется вернуться к предыдущей версии, но ИИ после многочисленных правок уже не знает, что было в предыдущей версии.
Если что-то сломалось, то для анализа того, почему это произошло, ИИ придется изучать весь код, вместо того, чтобы смотреть только последние изменения. Это влияет на стоимость.
А если у вас несколько устройств? Как передавать код? А если компьютер перестанет работать?
Да, во всех этих ситуациях можно каждый раз начинать с нуля, но чем больше вы создаете разных полезных инструментов, тем сложнее потом проходить этот путь снова. И тем ценнее для вас каждое изменение, которое вы делаете в этих инструментах. У программистов риски еще выше, потому что речь идет про десятки и тысячи строк кода, которые просто так не восстановить, и это очень большие деньги для компаний.
Для решения этих проблем существуют программы, называемые системами контроля версий, и самая популярная из них — это Git. Git позволяет запоминать все изменения, которые делаются внутри проекта (папки) в виде коммитов. Каждый коммит — это набор изменений относительно предыдущего коммита. Работа при этом строится так:
ЦИКЛ РАБОТЫ С GIT
Каждый коммит сохраняет очередной этап работы
Делаются изменения.
Изменения фиксируются (коммитятся).
Делаются новые изменения.
Изменения снова фиксируются.
В таком случае папка с проектом начинает называться гит-репозиторием (или просто репозиторием).
Git позволяет перемещаться по этой истории коммитов, чтобы анализировать сделанные изменения. Коммиты можно удалять и менять. Вот как это выглядит технически:
# внутри папки с проектом video-downloader (например) git init # создаем git репозиторий # Тут создаем папки и файлы (с помощью ИИ) git add . git commit -m 'добавлена возможность скачивать видео с vk' # добавляем ко git push
git log -p # просмотр изменений в коммитах
Все это сохраняется внутри папки с проектом в специальной директории с названием .git . Это служебная директория, которая нужна самой программе git , но самостоятельно туда заходить и что-то изучать не придется. Для вас же проект будет выглядеть как обычный набор папок и файлов.
Если есть желание, то на Хекслете есть бесплатный курс по изучению гит, который можно пройти параллельно основному обучению. Но, в целом, все эти команды за вас будет выполнять ИИ.
Нужно ли использовать Git сразу, когда мы начинаем что-то создавать? Не обязательно, если мы делаем что-то небольшое и временное, то смысла нет. Если мы создаем какое-то решение, которое планируем регулярно использовать и развивать, то стоит подключить git.
Теперь разберемся, откуда в этой схеме берется GitHub. Дело в том, что git хранит все изменения прямо внутри проекта в папке .git . А значит, он никак не поможет, если папку проекта удалить. История изменений удалится вместе с самим проектом. Чтобы этого не происходило, мы можем и почти наверняка будем хранить такие проекты на гитхабе. Это сервис, который не просто хранит код в виде архива или папки, он глубоко интегрирован с гит и хранит именно гит-репозитории.
Схема работы такая. На гитхабе создается репозиторий (под наш проект) и затем клонируется (скачивается с помощью git) на свой компьютер. Дальше на компьютере работа ведется через git, и после того как сделаны изменения и созданы коммиты, они заливаются (говорят, пушатся) на гитхаб. По большому счету, это и есть основной способ работы.
Хорошая новость в том, что современные агенты умеют все это делать самостоятельно. Главное — создать репозиторий и указать им на него, после этого Claude Code сам клонирует, сам делает изменения и сам их анализирует.
Устройство GitHub GitHub — это не только сервис хранения репозиториев в браузере. Это полноценная система управления проектами и даже бесплатный хостинг сайтов (что нам пригодится).
Когда вы регистрируетесь, то на GitHub появляется ваша страница, например, такая страница есть у Хекслета: https://github.com/hexlet (она есть и у людей, и у компаний). Это публичная страница, на которой видна ваша публичная активность. Она формируется из действий, которые выполняются пользователями над публичными репозиториями. Код таких проектов видят все. Зачем это нужно? Возможно, вы слышали понятие
открытых проектов (open source) — это они и есть. На гитхабе можно найти языки программирования, фреймворки, библиотеки и даже операционные системы. Очень много программ вокруг нас — это открытые проекты, доступные для просмотра и соучастия каждому. Например, операционная система Linux — это проект с открытым исходным кодом, в котором задействованы тысячи разработчиков со всех уголков мира. Но никто не мешает создавать приватные репозитории, которые видны только вам и тем, кому вы дадите доступ (если нужно). Эти репозитории и активность, связанная с ними, остается приватной.
В рамках курса мы будем работать с публичными репозиториями, чтобы можно было их проверять и обсуждать совместно.
Репозитории Принцип работы с репозиториями следующий. Когда появляется задача сделать новый независимый проект, то под него создается свой собственный репозиторий.
Во время создания указывается его имя, которое после клонирования будет совпадать с именем директории. Одновременно это же имя используется для ссылки. Например, у Хекслета есть открытый репозиторий ru-test- assignments , доступный по ссылке https://github.com/Hexlet/ru-test- assignments.
Если перейти на страницу репозитория, то можно потеряться от количества информации и кнопок. Не все из этого нам будет нужно, но некоторые элементы мы разберем сейчас.
Первая вкладка в верхнем меню — это код. Здесь мы видим содержимое проекта. По нему можно перемещаться, открывать файлы и папки. Более того, здесь можно создавать, редактировать и удалять файлы. Правда, в отличие от локальной работы, каждое изменение в веб-интерфейсе сопровождается необходимостью делать коммит (нажимая на кнопку). Обязательно потренируйтесь делать это в созданном вами репозитории.
Следующая вкладка — Issues, которая используется для управления задачами в проекте. Здесь описываются ошибки (баги), фичи (новые возможности) и любые другие вещи, которые нужно сделать. В открытых проектах в Issues часто пишут пользователи проекта, у которых что-то не работает или они хотят каких-то дополнительных возможностей.
На этом пока все, остальные возможности мы будем изучать в процессе, когда они понадобятся.
Самостоятельная работа
В этом уроке заводим аккаунт на GitHub, создаем первый репозиторий и проходим базовые действия: правку файла с коммитом и работу с issues. Все шаги делаем в браузере.
Регистрация на GitHub
Зайдите на https://github.com и нажмите Sign up. Заведите аккаунт на свой основной email и придумайте короткий username, он будет в адресе всех ваших проектов.
Создание репозитория
Нажмите кнопку New (зеленая, справа сверху) и создайте публичный репозиторий с именем hexlet-vibecoding . Поставьте галку «Add a README file» и нажмите Create repository. Этот репозиторий пригодится и в следующих уроках.
Ожидаемый результат: открылась страница репозитория, во вкладке Code виден файл README.md .
Правка файла и коммит
Откройте README.md и нажмите на карандаш (Edit). Впишите строку про себя, например «Учусь вайбкодингу, тут будут мои эксперименты». Прокрутите вниз, в форме коммита напишите короткое сообщение и нажмите Commit changes.
Проверка: вернитесь во вкладку Code, README показывает новый текст, а во вкладке History появился ваш коммит.
Работа с issues
Откройте вкладку Issues и нажмите New issue. Создайте две задачи: одну про новую фичу, другую про баг. В каждой напишите заголовок и пару предложений описания. Потом откройте одну из задач и оставьте комментарий, как будто отвечаете сами себе.
Проверка: во вкладке Issues видны две открытые задачи, а внутри одной из них есть ваш комментарий.
Дополнительные материалы Что такое Markdown