docs: 记录旧远程清理与两条历史合并全过程
This commit is contained in:
1 parent
67317c4125
commit
a4b2cb1d4f
1 file changed
+18
@@ -71,6 +71,24 @@
|
||||
- 待用户定:① 推到远程**新分支**(安全,推荐)② 合并两条历史(`--allow-unrelated-histories`,冲突量极大)③ 强推覆盖(⛔ 需明确授权)④ 不推,等原地址恢复。
|
||||
- ⚠️ 排查教训:换远程地址前必须先看 `merge-base`,⛔ 不能因为"地址能连通"就推。
|
||||
|
||||
## 合并两条历史并完成同步(15:4x)
|
||||
|
||||
- 合并 `admin/main`(两条独立历史、无共同祖先):冲突 **20 文件 47 块**。
|
||||
- **40 块自动**:规则①一边为空 → 取非空(纯新增,取并集);规则②ours 含 `mcn-workshop` 且 theirs 含 `mcn-work-shop` → 取 ours(目录改名,本地最新)。
|
||||
- **7 块人工**(全在 `MEMORY.md`):本地 v4 精简版覆盖远程 v3,远程的详细条目在 RUNBOOK/技能文档均有指针 ⇒ 取本地。
|
||||
- ⚠️ 脚本坑:冲突标记正则**必须写 `\r?\n`**(工作区是 CRLF),第一版漏了导致 0 匹配。
|
||||
- ⭐⭐ **合并的隐藏副作用(换线合并必查)**:远程那条线的工作台目录仍是旧名 ⇒ 合并后**旧目录 `mcn-work-shop` 被整个带回**,两套代码并存。
|
||||
- 取证三步:① `diff -rq` 显示旧目录**零独有文件**;② `server.js` 报 2672 行差异,实为**行尾差异**(旧 CRLF / 新 LF),`diff --strip-trailing-cr` 后仅 **206 行**;③ 其中旧目录独有的 40 行**全是本地已升级掉的旧代码**(旧版凭据解析 / 旧状态接口 / 写死的会话目录)⇒ 远程无本地缺失的实质改动。
|
||||
- 结论:安全删除,已 `git rm -r -f`(合并暂存态需 `-f`)。
|
||||
- 推送:`git push admin main` = **快进** `e738dd1..67317c4`(合并后远程变成本地祖先,**不是强推**)。本地与 admin 已完全一致(`rev-list --left-right --count` = `0 / 0`)。
|
||||
- ⚠️ 旧 origin(`work.alotbuy.com:222`)仍 **ahead 256**,网络不通未推。
|
||||
|
||||
## 旧远程清理(16:1x,用户:「旧的远程没用了」)
|
||||
|
||||
- 处理三步:① `git remote set-url origin` 指向 `[email protected]:admin/mcn-short-video.git`——**保留默认远程名 origin**,脚本与命令习惯不用改;② 删除冗余别名 `admin`(与 origin 同址);③ 删除随旧远程留下的本地分支 `admin-main`(= e738dd1,是 main 的祖先,零独有内容)。
|
||||
- 验证:只剩 origin 一个远程;本地与 origin 完全一致(`0 / 0`)。
|
||||
- 📌 **远程口径(本项目现行)**:`[email protected]:admin/mcn-short-video.git`(旧 `work.alotbuy.com:222` 已废弃)。
|
||||
|
||||
## 素材库补采:批 65 收尾 + 批 66/67 完成(30 卡)
|
||||
|
||||
- 承 09-29 进度:批 65(细节专业 15 卡)已 apply 完成,细节专业 40→55。
|
||||
|
||||
Reference in new issue
Block a user