docs: Task 13 澄清 git add -A 的豁免前提(ledger R32)
This commit is contained in:
@@ -4647,6 +4647,7 @@ obj/
|
||||
cd /d/cherry/repos/ring-health-api
|
||||
git init -b main
|
||||
git add -A
|
||||
git status --porcelain
|
||||
git commit -m "docs: 初始化 API 仓库骨架与接口契约草稿"
|
||||
git remote add origin http://120.192.101.56:3000/cuiluzheng/ring-health-api.git
|
||||
git push -u origin main
|
||||
@@ -4654,6 +4655,15 @@ git push -u origin main
|
||||
|
||||
Expected: 推送成功。
|
||||
|
||||
> **关于这里的 `git add -A`(ledger Ruling R32):** Global Constraints 有一条「提交时只 `git add`
|
||||
> 本任务改动的那几个文件,不要 `git add -A`」,字面上与本步冲突。**本步是那条规则的唯一豁免,
|
||||
> 且是刻意的** —— 这是一个 `git init` 出来的全新空仓库,工作区里**每一个**文件都是本任务建的
|
||||
> (`.gitignore` / `README.md` / `docs/api-contract.md`),`-A` 不可能卷进别人的改动;
|
||||
> 而逐条列举反而更容易漏(`.gitignore` 是隐藏文件,最常被漏掉,漏了之后它不会进提交,
|
||||
> 于是 `build/` 之类的目录将来会被误提交)。**新增的 `git status --porcelain` 就是为了守住这条豁免的前提:**
|
||||
> 提交前必须确认列出的正好是那三个路径加 `.gitignore`;**若多出任何别的路径,停下来查清楚**,
|
||||
> 不要直接提交。App 仓库(Task 1–12、14)不受此豁免影响,那里一律只 add 本任务的文件。
|
||||
|
||||
> **`repos/ring-health-api` 目录本身还不存在**(已确认 `repos/` 下只有 `ring-health-app`),`git init` 是干净的。
|
||||
> 但 Gitea 上的远程仓库是**在 Web UI 里建的**,若当时勾了「初始化仓库」(带 README / .gitignore),
|
||||
> `git push` 会因 `non-fast-forward` 被拒。这时**不要 `--force`**(会覆盖 Web UI 里可能已写的内容),
|
||||
|
||||
Reference in New Issue
Block a user