edit | blame | history | raw

Aligner Git 清障 - 提交推送

日期:2026-07-13
项目:Aligner
范围:按用户确认的方案清理 03-O Git dirty,提交并推送到 boborobots/main

用户目标

用户认可对 dirty 工作树的分类和处理建议,要求按该方案执行:删除 AppleDouble 噪声,忽略后续 ._*,恢复权限位噪声,保留有价值文档变更并提交。

已完成事项

  • 删除 /Users/ar/Projects/Aligner/03-O 下 199 个 AppleDouble ._* 文件。
  • 03-O/.gitignore 中新增 ._*
  • 恢复 110 个 tracked 文件的权限位噪声,避免把误 executable 状态提交到远端。
  • 保留并提交 6 个迁移路径 / 命名修正文档。
  • 新增并提交 4 个目录 README:C3.tools/README.mdK1.业务知识/README.mdK2.项目管理/README.mdK3.运营与发布资料/README.md
  • 创建提交 14a1efc86d0295be3a0d3fe1ebe7b8080266da2ddocs: clean Aligner migration metadata
  • 推送到 boborobots/main,远端 refs/heads/main 已验证为同一 hash。
  • 更新 02-P/plan-progress.markdown02-P/当前阶段/pending-user-decisions.md,移除 Git dirty 阻塞口径。

核心事实 / 变更快照

  • 变更对象:03-O Git 工作树状态、远端 main、迁移文档路径口径、目录 README。
  • 事实来源:
  • Git 根目录:/Users/ar/Projects/Aligner/03-O
  • 提交:14a1efc86d0295be3a0d3fe1ebe7b8080266da2d
  • 远端:https://git.boborobots.com/r/crazy-macs/aligner.git
  • 台账:02-P/plan-progress.markdown
  • pending decisions:02-P/当前阶段/pending-user-decisions.md
  • 变更前:
  • 03-O 为 dirty。
  • 未跟踪文件中有 199 个 AppleDouble ._*
  • tracked 文件中有 110 个仅权限位变化。
  • 6 个文档有真实内容变化,主要是 Aligner2Aligner 的路径 / 命名迁移修正。
  • 4 个目录 README 未跟踪。
  • 变更后:
  • AppleDouble 清零。
  • .gitignore 忽略 ._*
  • 权限位噪声清零。
  • 有价值文档和 README 已提交。
  • 03-O Git 工作树 clean。
  • boborobots/main 指向 14a1efc86d0295be3a0d3fe1ebe7b8080266da2d
  • 范围边界:
  • 本轮未修改产品源码内容。
  • 本轮未运行构建、测试、打包、发布或 tag。
  • 本轮不替代正式发布、版本冻结、代码审核 PASS 或 QA PASS。
  • 验证证据:
  • git diff --check 通过。
  • git diff --cached --check 通过。
  • git status --short --branch 显示 ## main...boborobots/main
  • git ls-remote --heads ... main 返回 14a1efc86d0295be3a0d3fe1ebe7b8080266da2d refs/heads/main

可复用命令 / Runbook

用途:再次遇到 macOS AppleDouble ._* 和误 chmod 导致的 Git dirty 时,按精确范围清理,不使用 git clean

前置条件:

  • 项目仍在 /Users/ar/Projects/Aligner
  • Git 根目录仍是 /Users/ar/Projects/Aligner/03-O
  • 已先用 git status --short --branchgit diff --stat 确认没有未知的重要源码内容混在其中。

设置和验证:

cd /Users/ar/Projects/Aligner/03-O
git status --short --branch
git ls-files --others --exclude-standard | awk 'BEGIN{apple=0; other=0} /(^|\/)\._/ {apple++; next} {other++; print} END{print "--counts--"; print "appledouble=" apple; print "other_untracked=" other}'
find /Users/ar/Projects/Aligner/03-O -name '._*' -type f -delete
git diff --name-only -z | while IFS= read -r -d '' p; do mode=$(git ls-files -s -- "$p" | awk '{print $1}'); case "$mode" in 100644) chmod 644 "$p" ;; 100755) chmod 755 "$p" ;; esac; done
git diff --check
git status --short --branch

验证标准:

  • AppleDouble 计数为 0。
  • git diff --summary 不再出现无意义的 100644 => 100755 权限位噪声。
  • git diff --check 返回 0。
  • 只剩明确要保留的内容变更或无变更。

清理 / 恢复:

  • 本流程不使用 git clean
  • 如误删了未提交但仍需要的 ._*,通常应从源文件或备份恢复;这些文件本身不应作为项目源码事实源。
  • 如误 chmod,可再次按 Git index 运行权限恢复命令。

搜索关键词:AppleDouble._*chmodmode-change100644 100755Git dirty 清障

文件变更

  • 03-O/.gitignore
  • 03-O/C1.source/AGENTS.md
  • 03-O/C1.source/CODEGRAPH.md
  • 03-O/C3.tools/README.md
  • 03-O/K1.业务知识/README.md
  • 03-O/K1.业务知识/设计成果地图.md
  • 03-O/K2.项目管理/QA成果地图.md
  • 03-O/K2.项目管理/README.md
  • 03-O/K2.项目管理/新窗口接手指南.md
  • 03-O/K2.项目管理/研发交付验收流程.md
  • 03-O/K3.运营与发布资料/README.md
  • 02-P/plan-progress.markdown
  • 02-P/当前阶段/pending-user-decisions.md
  • .codex-sessionhistory/26.0713-Aligner.Git清障-提交推送.md
  • .codex-sessionhistory/COMMANDS.md

未决问题

  • R025-COMPAT-001 仍需真实 macOS 14+ Apple Silicon 环境。
  • 正式官网公开发布仍缺 Developer ID、notarytool profile、下载源、官网 / 支持邮箱等外部条件。