Услуги
Сайты и магазиныЛендинги ★Создание сайтовИнтернет-магазины
ИИ и автоматизацияИИ-секретарь ★Автоворонка и прогрев ★Telegram-боты ★Автоматизация ★CRM-разработка
ПродвижениеSEO-продвижениеAI-продвижение ★Контекстная рекламаSMM и соцсети
Наружка, печать и производствоВывески и буквыНаружная рекламаБаннеры и штендерыТипографияВизиткиШирокоформатБрендированиеОклейка автоТорговое оборудованиеМатериалы для рекламы
Дизайн и поддержкаДизайнПоддержка
КомплексDigital под ключ ★
РешенияКейсыПортфолиоЦеныО студииБлогКонтакты Обсудить проект

Организация работы

255 файлов работы не было в git

Результат работы существует для команды только тогда, когда он в общей ветке. За одни сутки мы поймали три источника невидимой работы: устаревшее правило игнорирования, вывод «кода нет нигде» по одной ветке и две сессии, чинившие один дефект. Разбираем каждый и метод сверки, который отделяет панику от реальной потери.

Замер: 9 августа 2026разбор своих ошибок

Чем проверено: сверка диска с основной веткой по пути и по содержимому, проверка непринадлежности ветки командой сравнения предков, компиляция внесённых файлов

Короткий вывод. Результат работы существует для команды только тогда, когда он в общей ветке. Проверили своё хранилище скриптов: 255 файлов лежали на диске и не были в git вообще — их прятала одна строка-исключение, написанная под задачу, которой давно нет. За сутки класс «инструмент есть на диске, в git его нет» воспроизвёлся шесть раз. Обратная сторона того же класса — вывод «такого кода у нас нигде нет», сделанный по одной основной ветке. Код лежал в неслитой ветке, 5 файлов; ошибку нашёл не автор вывода, а состязательная перепроверка. И третья грань: две параллельные сессии чинили один и тот же дефект, одна выбросила свою работу целиком.

Правило пережило свою причину

Строка-исключение для каталога с рабочими скриптами появилась по понятной причине: там когда-то лежали приватные скрипты с паролями внутри. Причина ушла, правило осталось — и продолжило прятать всё, что в каталог приезжало потом.

Замер по текущему состоянию: ни в одном найденном файле нет захардкоженного секрета. Правило защищало от того, чего в каталоге уже нет, и мешало тому, что там появилось.

Признак, по которому такое видно заранее. В общей ветке из того же каталога всё-таки лежат 580 файлов — их вносили точечно, принудительным добавлением. Люди обходили правило по одному файлу вместо того, чтобы его поправить. Регулярный ручной обход правила — это и есть сигнал, что правило пережило свою причину.

Сверять по содержимому, а не по имени

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

Шаг сверкиФайловЧто означает
Всего в каталоге на диске3937исходный объём
Нет в основной ветке по этому пути2575первое, пугающее число
Из них исполняемых — их и разбирали525остальное данные и выгрузки
Копия есть в ветке, байт в байт260ложная тревога, файл переехал
Копия есть, содержимое разошлось10ручной разбор, какая версия живая
Реально вне git255147 — на них ссылается то, что уже в git; 108 не ссылается никто

Строка про 147 — самая неприятная. Ссылка из файла, который лежит в общей ветке, на файл, которого в общей ветке нет: у любого, кто возьмёт репозиторий чистым, это место просто не работает, и причину он будет искать в своей среде.

Итог разбора: внесли 110 файлов, проверка компиляцией 110 из 110 зелёная; осталось вне git 145 — это 141 черновик и 4 файла с персональными данными. Последние четыре и есть та причина, ради которой исключение писали. Правило нужно было не снимать, а сузить до них.

Другая грань: «кода нигде нет», а он в неслитой ветке

Обратную сторону того же класса поймали в разборе методики. Первый вывод автора звучал так: нужного кода у нас нет нигде, надо писать с нуля. Состязательная перепроверка отдельным проходом этот вывод опровергла: код живёт в неслитой ветке, 5 файлов, и проверено не глазами, а командой сравнения предков — ветка в основную не влита.

Формулировка, которую мы оставили в документе дословно. «Мой первый вывод был неверен — состязательная перепроверка сработала». Разбор, из которого вычищены опровергнутые гипотезы автора, теряет ровно ту часть, ради которой его стоит читать.

Практический вывод простой: «в основной ветке нет» — это не «нет». Поиск по одной ветке отвечает на более узкий вопрос, чем тот, который вы задали.

Цена невидимой работы: два раза одно и то же

Параллельная сессия влила в основную ветку свой фикс того же дефекта, над которым у нас лежал черновик. Чужая версия оказалась строже. Черновик сняли целиком — не сшивали, не доказывали, что «у нас тоже есть полезное»: сшивка двух фиксов одного места дороже, чем выбросить свой.

И отдельно про атрибуцию. Улучшение 164 → 161 в отчёт этой работы не пошло: сделала его соседняя сессия, «приписывать её этой работе было бы враньём». В другом месте того же отчёта — обратный знак: одна находка добавилась по нашей вине, поэтому корректная запись выглядит как 6489 → 271, включая +1 от нас.

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

Что сделать у себя

  1. Прогоните ignore-правила против сегодняшнего диска. Не читайте файл глазами — получите список того, что правило прячет прямо сейчас. Причина правила и его нынешнее действие расходятся молча.
  2. Сверяйте по содержимому, а не по пути. У нас разница между «нет по пути» и «нет нигде» составила 2575 против 255. Отчёт по путям приведёт к панике и к неделе лишней работы.
  3. Отдельно считайте ссылки. 147 файлов из 255 упоминались в том, что уже лежит в общей ветке. Такие места ломаются у нового человека, а не у автора.
  4. Вывод «такого нет» проверяйте по неслитым веткам. Командой на предков, а не поиском по основной ветке и не по памяти.
  5. Перед правкой смотрите, не занято ли место соседней сессией. Если чужая версия строже — снимайте свою целиком.
  6. Держите в отчёте строку «это не наш плюс». И обратную — «одна находка добавилась по нашей вине». Отчёт без минусов не читается как отчёт.
Итог. Работа, которой нет в общей ветке, не существует для всех, кроме автора, и стоит она полную цену второй раз. Три источника такой невидимости мы поймали за одни сутки: правило, пережившее свою причину, вывод по одной ветке и две сессии, не знавшие друг о друге.

Источники материала

  • Разбор «инструменты вне git»: сверка диска с основной веткой по пути и по содержимому, триаж 525 исполняемых файлов, внесение 110 с проверкой компиляцией.
  • Рабочий журнал методики конвейера: опровержение вывода «кода нет нигде» состязательным проходом, проверка непринадлежности ветки командой сравнения предков.
  • Отчёт о параллельной работе двух сессий над одним дефектом: снятие своего черновика и правила атрибуции улучшений.
  • Инвентарь замеров, группа «Организация работы с ИИ-агентами».

Учёт работы агентов разбирается на третьем занятии курса

Когда над проектом работают несколько агентов и людей, главная потеря — не плохой код, а сделанная и не доехавшая работа. В курсе ставим сверку с общей веткой, правила атрибуции улучшений и разведение параллельных сессий по участкам — на вашем репозитории.

Программа курса и цены
Соседние материалы
Предыдущий замер: Проверки, которые никто не зовётСледующий замер: Разницу даёт поиск, а не модельВсе материалы журнала

Обсудим ваш проект

Оставьте заявку — свяжемся в течение 15 минут в рабочее время, зададим пару вопросов и пришлём ориентир по цене и срокам. Бесплатно, без обязательств.

  1. 1. Заявка или квиз
  2. 2. Короткий созвон / переписка
  3. 3. Бесплатная смета и план
  4. 4. Договор и старт

Бесплатно и ни к чему не обязывает. Ответим за 15 минут.