[2026-09-26] eagle: family/how-to/jellyfin-config.md family/plans/lidarr-taiga-deploy.md personal/plans/balda-mm-pr-plan.md personal/plans/music-tags-review/music-tags-review.md personal/projects/balda/balda-mattermost-connector.md personal/tech/balda-go-fx-pitfalls.md personal/tech/music-tags-repair-truenas.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-26 14:37:01 +06:00
1 parent 9778ea9289
commit 35dfecbe02
7 files changed
+281 -24

No files matched your search

+36 -4
View File
@@ -1155,10 +1155,42 @@ MM отвечал раз в 30 секунд, ровно на каждый пин
## 📌 Артефакты деплоя — вон из PR
`tools/mm-*.sh` (9 ops-скриптов) и `tools/deltas-*.json` (15 файлов дельта-групп)
— **локальный инструментарий**, в PR в апстрим не идут. Оставлять
незакоммиченными и явно перечислять в доке, чтобы не потерять.
В коммиты PR шли только: код транспорта, wiring, тесты, доки.
`tools/mm-*.sh` (9 ops-скриптов) и `tools/deltas-*.json` — **локальный инструментарий**,
в PR в апстрим не идут. В коммиты PR шли только: код транспорта, wiring, тесты, доки.
⚠️ **Поправка (та же сессия, позже):** я сначала написал, что `tools/` «оставлены
незакоммиченными». Это было **неверно** — проверка показала, что **16 файлов `tools/`
уже сидят в базовом коммите `004fda2f`** (из прошлой сессии), и в апстриме каталога
`tools/` **нет вообще** (`git ls-tree upstream/main tools/` → пусто). То есть в PR
уезжал мусор, а `git status` этого не показывал.
## 🔴 Проверять СОСТАВ PR, а не рабочее дерево
**Правило:** перед объявлением «готово к PR» смотреть содержимое коммитов, а не только
`git status`:
```bash
git diff --stat upstream/main...HEAD # ЧТО реально уедет в PR
git ls-tree --name-only upstream/main <dir> # есть ли этот dir в апстриме вообще
git log --oneline --name-only <mой_первый_коммит>^..HEAD -- '<dir>/' # не моё ли
```
Три команды отвечают на три разных вопроса, и **`git status` не отвечает ни на один**:
он показывает рабочее дерево, а не то, что уже закоммичено ранее (в т.ч. чужой рукой).
📌 **Симптом промаха:** «я всё вычистил, PR готов» → `git diff --stat` показывает
56 файлов вместо 40. Лишние пришли из **предыдущей** сессии, не из текущей.
📌 **Полезное следствие:** `git log --name-only <range> -- '<dir>/'` точно отделяет
**свой** мусор от **унаследованного** — без этого легко начать «чинить» не то.
## ⚠️ `git rm --cached` требует апрува — не повторять вслепую
`git rm -r --cached tools/` идёт на подтверждение; при таймауте **не применяется**
(безопасно — состояние целое, проверять `git status --short`). Не ретраить
автоматически: удаление из индекса — операция, требующая команды заказчика.
Альтернатива без «удаления»: оставить файлы untracked, а из индекса убрать одним
явным коммитом по команде Alex.
## Связанные заметки