<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Git on Digitable courses</title>
    <link>https://courses.digitable.life/tags/git/</link>
    <description>Recent content in Git on Digitable courses</description>
    <generator>Hugo</generator>
    <language>ru-RU</language>
    <lastBuildDate>Sat, 01 Aug 2026 00:12:59 +0300</lastBuildDate>
    <atom:link href="https://courses.digitable.life/tags/git/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Git: карта трека и модель данных вместо заучивания команд</title>
      <link>https://courses.digitable.life/post/git/00-overview/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/00-overview/</guid>
      <description>Почему Git кажется сложным, как устроена его модель данных — объекты, DAG и ссылки, — как из неё выводятся все команды, где живёт спасательный круг reflog и в каком порядке читать остальные статьи трека.</description>
    </item>
    <item>
      <title>Merge и rebase: как работают на самом деле и что выбрать команде</title>
      <link>https://courses.digitable.life/post/git/04-merge-and-rebase/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/04-merge-and-rebase/</guid>
      <description>Merge создаёт один коммит с двумя родителями и не трогает ничего существующего; rebase создаёт новые коммиты с новыми идентификаторами. Разбираем механику обеих операций до уровня объектов и индекса, смотрим на реальный вывод команд, учимся откатывать любую ошибку через reflog и честно разбираем, почему спор «rebase или merge» решается аргументами про процесс, а не про Git.</description>
    </item>
    <item>
      <title>Большие репозитории и монорепо: submodules, subtree, sparse-checkout, LFS</title>
      <link>https://courses.digitable.life/post/git/09-monorepo/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/09-monorepo/</guid>
      <description>Репозиторий растёт по трём независимым осям — глубина истории, ширина дерева, вес содержимого — и каждая ось лечится своим механизмом. Разбираем submodules и subtree как два способа склеить репозитории, sparse-checkout и partial clone как два способа взять только нужную часть, LFS как способ вынести бинарники, и обслуживание, без которого монорепо перестаёт работать.</description>
    </item>
    <item>
      <title>Внутри Git: объекты, blob, tree, commit, ссылки и DAG истории</title>
      <link>https://courses.digitable.life/post/git/01-internals/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/01-internals/</guid>
      <description>Git — это не набор команд, а маленькая контентно-адресуемая база данных из четырёх типов объектов и направленный ациклический граф поверх неё; разбираем её по байтам, собираем коммит руками через plumbing и выводим из модели ответы почти на все вопросы про Git.</description>
    </item>
    <item>
      <title>Восстановление: reflog, потерянные коммиты, испорченный репозиторий</title>
      <link>https://courses.digitable.life/post/git/07-recovery/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/07-recovery/</guid>
      <description>Почему в Git почти ничего нельзя потерять безвозвратно: достижимость объектов, reflog как журнал движения ссылок, git fsck и висячие объекты, разбор реальных сценариев потери и починка повреждённого .git.</description>
    </item>
    <item>
      <title>Ежедневная работа: staging, коммиты, diff, stash, отмена изменений</title>
      <link>https://courses.digitable.life/post/git/02-daily-workflow/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/02-daily-workflow/</guid>
      <description>Модель трёх деревьев, устройство индекса, частичный staging через add -p, три вида diff, внутренности stash и полная карта отмены изменений — от restore до reflog.</description>
    </item>
    <item>
      <title>Командная строка и Git: как разработчики работают с кодом</title>
      <link>https://courses.digitable.life/post/intro/12-terminal-and-git/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/intro/12-terminal-and-git/</guid>
      <description>Осваиваем два инструмента, которыми разработчик пользуется каждый день: терминал для управления компьютером текстом и Git для истории изменений кода.</description>
    </item>
    <item>
      <title>Конфликты слияния: почему возникают, как разрешать, как предотвращать</title>
      <link>https://courses.digitable.life/post/git/06-conflicts/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/06-conflicts/</guid>
      <description>Конфликт — не поломка Git, а честный отказ угадывать за вас: трёхстороннее слияние и stage 1/2/3 в индексе, маркеры в стилях merge, diff3 и zdiff3, все виды конфликтов включая rename и modify/delete, rerere, merge-драйверы и предсказание конфликтов через merge-tree до того, как они случились.</description>
    </item>
    <item>
      <title>Переписывание истории: amend, interactive rebase, filter-repo и риски</title>
      <link>https://courses.digitable.life/post/git/05-history-rewriting/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/05-history-rewriting/</guid>
      <description>Как Git на самом деле «переписывает» историю — создавая новые объекты и двигая ссылки, — от git commit &amp;ndash;amend и интерактивного rebase до filter-repo, с честным разбором рисков force-push, вычистки секретов и способов всё вернуть.</description>
    </item>
    <item>
      <title>Разработка: ветки, код-ревью, стандарты и Definition of Done</title>
      <link>https://courses.digitable.life/post/sdlc-and-career/04-development/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/sdlc-and-career/04-development/</guid>
      <description>Как устроен этап разработки в реальной команде: жизненный цикл задачи, стратегии ветвления, код-ревью с обеих сторон, автоматические стандарты качества и договор о том, что считается сделанным.</description>
    </item>
    <item>
      <title>Совместная работа: код-ревью в масштабе, соглашения о коммитах, релизы</title>
      <link>https://courses.digitable.life/post/git/10-collaboration/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/10-collaboration/</guid>
      <description>Ревью, соглашения о коммитах и релизы — это надстройка над одной и той же моделью данных: коммит-DAG, merge-base, теги-объекты и трейлеры сообщений. Разбираем, что реально считает Git, а что придумала платформа, почему размер изменения — главная переменная ревью, зачем нужна очередь слияний и как из истории собирается релиз.</description>
    </item>
    <item>
      <title>Стратегии ветвления: trunk-based, GitFlow, GitHub Flow — что когда</title>
      <link>https://courses.digitable.life/post/git/03-branching-strategies/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/03-branching-strategies/</guid>
      <description>Ветка — это 41 байт, поэтому платите вы не за ветки, а за расхождение: разбираем trunk-based, GitHub Flow, GitFlow и release-поезда через модель данных и выбираем стратегию по реальным ограничениям команды.</description>
    </item>
    <item>
      <title>Хуки и автоматизация: pre-commit, CI-интеграция, подпись коммитов</title>
      <link>https://courses.digitable.life/post/git/08-hooks-and-automation/</link>
      <pubDate>Thu, 16 Jul 2026 10:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/git/08-hooks-and-automation/</guid>
      <description>Хук — это программа, которую Git запускает на переходе между состояниями модели данных: индекс → объект коммита → локальная ссылка → ссылка на сервере. Разбираем точный контракт хуков, пишем правильный pre-commit, честно смотрим, где хуки бесполезны, переносим те же проверки в CI и доводим дело до подписи коммитов на уровне байтов объекта.</description>
    </item>
    <item>
      <title>Крайне часто нам приходится сталкиваться с тем, чтобы открывать Pull Requests…</title>
      <link>https://courses.digitable.life/post/blog/tg-13/</link>
      <pubDate>Wed, 08 May 2024 12:00:00 +0300</pubDate>
      <guid>https://courses.digitable.life/post/blog/tg-13/</guid>
      <description>Крайне часто нам приходится сталкиваться с тем, чтобы открывать Pull Requests / Merge Requests и прочее, Однако мысль разработчика &amp;ldquo;моя работа заканчивается по…</description>
    </item>
  </channel>
</rss>
