Точные значения слов, которые разработчики произносят так, будто они очевидны. Один термин — одно-два предложения. Печатается на лист, кладётся рядом с монитором.
Обновлено после урока 2Разобрано терминов: 7
Разобрано
Репозиторий (repo)
Папка проекта плюс вся его история версий, хранящаяся рядом в скрытой директории .git. Одна папка — один репозиторий.
Не путать: репозиторий на твоём диске и его копия на GitHub — это два репозитория, связанные между собой.
Коммит (commit)
Полный снимок всех отслеживаемых файлов проекта на момент времени, со ссылкой на предыдущий снимок. Самодостаточен: по одному коммиту папка восстанавливается целиком.
Избегать формулировок: «сохранение», «версия правок», «патч».Урок 1 · Pro Git, «Что такое Git?»
Ветка (branch)
Подвижный указатель на коммит — имя плюс айди снимка, около сорока байт. Когда ты делаешь коммит, стоя на ветке, она сама переезжает на новый снимок.
Избегать формулировок: «копия проекта», «отдельная папка», «параллельная версия».Урок 2 · Pro Git, «О ветвлении в двух словах»
HEAD
Отметка «ты сейчас здесь»: указатель на ту ветку, на которой ты находишься. Файлы в папке проекта всегда соответствуют коммиту, куда смотрит HEAD.
Избегать формулировок: «главная ветка», «последний коммит», «верхушка проекта».Урок 1
main
Имя ветки, которая по умолчанию считается основной, рабочей версией проекта. Ничем технически не выделена — это соглашение, а не свойство Git.
Раньше эту ветку почти всегда называли master; в старых проектах имя встречается до сих пор.Урок 1
Переключение ветки (switch / checkout)
Перевод HEAD на другую ветку. Побочный эффект, который и сбивает с толку новичков: содержимое папки проекта перекладывается под снимок этой ветки — файлы могут появиться или исчезнуть.
Избегать формулировок: «перейти в другую папку», «открыть другую версию».Урок 2
Граф коммитов
История проекта как цепочка снимков, где каждый указывает на родителя. Когда работа идёт в нескольких ветках, цепочка расходится на линии и может снова сходиться.
Избегать формулировок: «дерево версий», «лог», «таймлайн».Урок 1
Рабочее дерево (worktree)
Папка с файлами проекта в развёрнутом виде — та, что видна в Finder. Репозиторий может обслуживать несколько таких папок: история одна на всех, но каждая папка стоит на своей ветке и имеет свой HEAD. Одну ветку в двух деревьях развернуть нельзя.
Избегать формулировок: «копия проекта», «второй репозиторий», «клон».Урок 3 · git-worktree
Изоляция
Свойство рабочего дерева: агент правит файлы у себя и физически не может задеть чужую папку. Разводит именно файлы — общая история остаётся видна всем.
Урок 3
.worktreeinclude
Файл в корне проекта со списком того, что копировать в каждое новое рабочее дерево: .env и прочие локальные настройки, которых нет в снимках. Без него агент попадает в папку без ключей от базы.
Урок 3 · Claude Code, worktrees
Удалённый репозиторий (remote)
Вторая полная копия истории проекта, лежащая не у тебя — обычно на GitHub. Полноценный репозиторий со всеми ветками и коммитами, отличается от твоего только тем, что файлы там не развёрнуты в папку. «Главным» он считается по договорённости команды, а не технически.
Избегать формулировок: «облако», «бэкап», «сервер с файлами».Урок 4
origin
Короткое имя, под которым в настройках проекта записан адрес удалённого репозитория. Проставляется само при git clone — по адресу, откуда качали. Имя можно поменять, а удалённых репозиториев подключить несколько: второй по традиции зовут upstream.
Не значит «главный» или «облако»: это кличка конкретного адреса.Урок 4 · Pro Git, «Работа с удалёнными репозиториями»
push
Отправка твоих коммитов в удалённый репозиторий. Всегда вручную: само ничего не уезжает. Отправляются именно коммиты — незакоммиченные правки не попадут туда никогда.
Урок 4 · git-push
pull
Забрать чужие коммиты с сервера и влить их в свою текущую ветку. Внутри это два действия: сходить за новостями (fetch) и слить их с твоей работой. Второе меняет файлы в папке и может упереться в конфликт.
Урок 4
fetch
Сходить на сервер и обновить сведения о нём, ничего не сливая. Твоя ветка и файлы остаются нетронутыми — меняются только метки вида origin/main. Безопасная разведка перед решением.
Урок 4
origin/main
Метка в твоей истории, показывающая, где ветка main находилась на сервере в момент последней связи. Лежит на твоём диске и обновляется только при fetch, pull или push. Фотография доски, а не сама доска.
Не путать с main: та показывает, где твоя работа. И не считать её текущим состоянием сервера — она почти всегда чуть устаревшая.Урок 4
clone
Скачать удалённый репозиторий целиком: всю историю, все ветки. Заодно Git записывает адрес источника под именем origin и разворачивает файлы в папку. Делается один раз на проект.
Урок 4
Force push
Отправка с ключом --force: сервер выбрасывает свою версию ветки и записывает твою. Обходит защиту, которая не даёт затереть чужие коммиты. На личной ветке — рабочий инструмент, на main и общих ветках — способ стереть чужую работу так, что автор узнает не сразу.
Первый кандидат в список запретов для агента: это самый короткий способ убрать препятствие, и модель находит его сама.Урок 4 · git-push
PR (pull request)
Заявка на GitHub: «влейте ветку такую-то в ветку такую-то». К заявке прилагаются список коммитов, разница в файлах, описание и обсуждение. В самом Git такого понятия нет, поэтому PR открывают через сайт или утилиту gh, а не командой git. Привязан к имени ветки: всё, что в неё пушат после открытия, попадает в PR само.
В GitLab то же самое называется merge request, «запрос на слияние» — это название точнее.Урок 5 · GitHub Docs
Diff (разница)
Построчное сравнение двух состояний: зелёные строки добавлены, красные убраны, изменённая строка показана как красная и зелёная рядом. На странице PR это вкладка Files changed. Читается не по строкам, а по границам: список тронутых файлов и числа плюс-минус у каждого.
Урок 5
Ревью (review)
Просмотр PR до слияния с замечаниями к конкретным строкам. Итог — одобрить, попросить правки или просто прокомментировать. Правки автор пушит в ту же ветку, и PR обновляется без переоткрытия.
Урок 5
Черновик PR (draft)
PR, который открыт для чтения и обсуждения, но кнопка слияния у него заблокирована. Способ сказать «ещё не закончено». Удобный режим для агентов: открыть рано, перевести в готовый по окончании.
Урок 5
Кнопка Merge
Слияние PR на сервере: в целевой ветке появляется коммит с двумя родителями, ветку-источник GitHub предлагает удалить. Локальная копия main об этом не узнает до следующего pull. Рядом выбор из трёх способов слияния — тема отдельного урока.
Урок 5
Защита ветки (branch protection)
Настройка репозитория на GitHub, при которой в main нельзя пушить напрямую, только через PR. Превращает правило из CLAUDE.md в запрет, который соблюдает сам сервер.
Урок 5
Node.js
Среда, в которой JavaScript работает не в браузере, а сам по себе: на твоей машине или на сервере. Всё, что дальше в этом списке, живёт внутри неё.
Рядом 1 · nodejs.org
npm
Название сразу двух вещей: общего хранилища пакетов и стандартного менеджера, который приезжает вместе с Node.js. Имя выросло из node package manager, но авторы от расшифровки отказались и оставили шутку npm is not an acronym: первые буквы этой фразы дают ninaa, а не npm, чем она себя и доказывает. Пишется строчными.
Рядом 1 · npm, раздел FAQ
pnpm
Другой менеджер к тому же хранилищу. Performant npm, «быстрый npm». Ставит те же пакеты, но держит один общий склад и раздаёт из него жёсткие ссылки вместо копий.
Рядом 1 · pnpm, motivation
Пакет (библиотека)
Готовый чужой кусок кода, выложенный в открытый доступ, чтобы не писать своё с нуля. Один запрошенный пакет обычно тянет за собой десятки других.
Рядом 1
package.json
Рецепт проекта: список библиотек, которые ему нужны, с допуском по версиям («пятая или новее»). Обычно его пишет агент, лежит в снимках Git.
Рядом 1
Файл-замок (lockfile)
Протокол установки: что именно встало, до последней цифры версии и с контрольными суммами. Пишет менеджер пакетов, называется pnpm-lock.yaml или package-lock.json. Коммитить всегда, не удалять никогда: без него установка на сервере может дать другие версии.
Рядом 1 · Документация npm
node_modules
Папка с самими файлами библиотек. В снимках Git не хранится: полностью восстанавливается из рецепта и замка. Поэтому свежее рабочее дерево приезжает без неё.
Рядом 1
Транзитивные зависимости
Библиотеки, которые приехали не по твоей просьбе, а потому что нужны тем, кого ты попросил. Один express тянет за собой 65 пакетов. Отсюда разрыв между пятью строками в рецепте и полутора тысячами папок на диске.
Рядом 1
Докер (Docker)
Способ упаковать приложение вместе со всем окружением — системой, библиотеками, зависимостями — в запечатанную коробку, которая одинаково запускается на любой машине. Лекарство от «у меня работает, а на сервере нет».
Рядом 1
Dockerfile
Рецепт сборки образа: какую взять базовую систему, что поставить, куда положить код, чем запускать. Порядок шагов в нём влияет на скорость сборки, потому что каждый шаг становится отдельным слоем.
Рядом 1
Контейнер (container)
Запущенный экземпляр образа. Образ относится к контейнеру как программа на диске к запущенной программе: из одного образа можно поднять сразу несколько контейнеров, и они не мешают друг другу.
Рядом 1
Образ (image)
Готовый к запуску слепок приложения вместе со всем окружением: системой, библиотеками, зависимостями и кодом. Собирается по рецепту из Dockerfile. Сам по себе не работает — из него запускают контейнер.
Рядом 1
Слой (layer)
Один шаг сборки образа, зафиксированный как изменение файловой системы. Образ — стопка слоёв. Одинаковые слои хранятся в одном экземпляре и переиспользуются всеми образами: три образа по 1,53 ГБ с общими слоями занимают на диске полтора гигабайта, а не четыре с половиной.
Рядом 1 · Docker, build cache
Кэш сборок (build cache)
Сохранённые слои прошлых сборок. Благодаря ему пересборка идёт секунды: неизменившиеся шаги берутся готовыми. Растёт сам и сам не убирается: легко дорастает до размера всех образов вместе, и заметная часть в нём уже не нужна.
Рядом 1
Жёсткая ссылка (hard link)
Второе имя того же файла на диске. Файл лежит в одном экземпляре, а виден из нескольких мест как полноценный. На этом стоит экономия pnpm. В отличие от ярлыка (symlink), который просто указывает «смотри туда», жёсткая ссылка равноправна оригиналу. Оригинала у такой пары нет: имена равноправны, и файл живёт, пока не удалено последнее. Работает только в пределах одного диска.
Рядом 1 · pnpm, motivation
Пока просто узнавай на слух
Это грубые ориентиры, чтобы не теряться в чужом разговоре прямо сейчас. Точные определения появятся здесь же, когда пройдём соответствующий урок — и они будут отличаться в деталях, которые важны.
Merge / rebase
Два разных способа соединить разошедшиеся линии истории обратно. Урок про слияния.
Stash
Полка, куда можно временно отложить незакоммиченные правки, чтобы освободить руки. Урок про аварийные ситуации.
Reflog
Журнал всех перемещений HEAD. Главный инструмент, когда кажется, что работа потеряна безвозвратно. Урок про аварийные ситуации.