[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:
1 parent
9778ea9289
commit
35dfecbe02
7 files changed
+281
-24
No files matched your search
@@ -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.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
|
||||
Reference in new issue
Block a user