11---
22name : best-of-both-worlds
3- description : " This skill should be used when the user asks to merge `caozhiyuan/all` into `czy-all`, push `czy-all`, create a PR from `czy-all` to `dev`, directly merge `czy-all` into `dev`, or resolve merge conflicts by combining both branches."
3+ description : " This skill should be used when the user asks to merge `caozhiyuan/dev` (the upstream sync source; previously `caozhiyuan/ all`, now removed upstream) into `czy-all`, push `czy-all`, create a PR from `czy-all` to `dev`, directly merge `czy-all` into `dev`, or resolve merge conflicts by combining both branches."
44---
55
66# Best of Both Worlds
77
8- 把 ` caozhiyuan/all ` 的最新内容带到本仓库的 ` czy-all ` ,再向 ` dev ` 发起 PR;若 PR 出现冲突,不要一把梭接受单边,而要逐个冲突块分析,尽量取两边之长。
8+ 把 ` caozhiyuan/dev ` 的最新内容带到本仓库的 ` czy-all ` ,再向本仓库 ` dev ` 发起 PR;若 PR 出现冲突,不要一把梭接受单边,而要逐个冲突块分析,尽量取两边之长。
9+
10+ > ** 上游分支变更说明(2026-05)** :上游仓库 ` caozhiyuan ` 已经删除 ` all ` 分支,唯一的活跃分支是 ` caozhiyuan/dev ` 。本 skill 中所有原来写作 ` caozhiyuan/all ` 的位置一律改用 ` caozhiyuan/dev ` 。本地遗留的 ` remotes/caozhiyuan/all ` ref 是历史残留,请勿再用。
911
1012## 适用场景
1113
1214当用户提出类似下面这些请求时,使用此 skill:
1315
14- - “merge caozhiyuan/all to czy-all”
16+ - “merge caozhiyuan/dev to czy-all”
1517- “push czy-all”
1618- “raise pr from czy-all to dev”
1719- “merge PR from czy-all to dev”
1820- “resolve the pr conflicts one by one”
1921- “best of both worlds”
20- - “把 caozhiyuan/all 同步到 czy-all 再 PR 到 dev”
22+ - “把 caozhiyuan/dev 同步到 czy-all 再 PR 到 dev”(注意:本仓库 ` dev ` 与上游 ` caozhiyuan/dev ` 是两个不同分支,分别属于不同 remote)
2123
2224## 核心原则
2325
2426### 分支职责(硬规则)
2527
26- - ` remotes/caozhiyuan/all ` :上游来源分支(对方仓库)。
27- - ` czy-all ` (tracking ` origin/czy-all ` ):本仓库的** 镜像/承接分支** ,用于保持与 ` caozhiyuan/all ` 同步,并作为 PR 源头。
28+ - ` remotes/caozhiyuan/dev ` :上游来源分支(对方仓库;曾经是 ` caozhiyuan/all ` ,已被上游删除 )。
29+ - ` czy-all ` (tracking ` origin/czy-all ` ):本仓库的** 镜像/承接分支** ,用于保持与 ` caozhiyuan/dev ` 同步,并作为 PR 源头。
2830- ` dev ` :本仓库目标集成分支。
2931
3032固定目标是:
3133
32- 1 . 先把 ` caozhiyuan/all ` 同步到 ` czy-all ` (只在 ` czy-all ` 上操作)
34+ 1 . 先把 ` caozhiyuan/dev ` 同步到 ` czy-all ` (只在 ` czy-all ` 上操作)
33352 . 再把 ` czy-all -> dev ` 集成到 ` dev `
3436
3537### PR 是唯一集成入口(关键)
@@ -48,10 +50,10 @@ description: "This skill should be used when the user asks to merge `caozhiyuan/
4850- 未经用户明确要求,不得执行 ` dev -> czy-all ` (例如在 ` czy-all ` 上 merge ` dev ` )。
4951- 未经用户明确要求,不得把 ` czy-all ` 当作日常开发分支写入与同步目标无关的提交。
5052
51- > 解释:` czy-all ` 的职责是保持“可从 ` caozhiyuan/all ` 干净同步”的状态;反向混入 ` dev ` 会污染同步基线。
53+ > 解释:` czy-all ` 的职责是保持“可从 ` caozhiyuan/dev ` 干净同步”的状态;反向混入本仓库 ` dev ` 会污染同步基线。
5254
53551 . ** 保持 tracking 不乱改。** 除非用户明确要求,不要擅自把 ` czy-all ` 的 upstream 从 ` origin/czy-all ` 改到别的远端。
54- 2 . ** 把“拉内容”和“改 tracking”分开。** 需要同步 ` caozhiyuan/all ` 时,直接 ` git pull caozhiyuan all ` 或等价操作;不要顺手重写 upstream。
56+ 2 . ** 把“拉内容”和“改 tracking”分开。** 需要同步 ` caozhiyuan/dev ` 时,直接 ` git pull caozhiyuan dev ` 或等价操作;不要顺手重写 upstream。注意命令中第二个 ` dev ` 指的是上游 remote 的分支名,与本仓库的 ` dev ` 同名但不是同一分支 。
55573 . ** 合并方向固定。** 这条工作流里,PR 方向始终是 ` czy-all -> dev ` ;PR 冲突时,本地解决方向是 ` dev <- czy-all ` 。
56584 . ** 冲突逐个解,不批量糊。** 出现 PR conflict 后,不要直接全选 ours/theirs,不要一次性大面积接受某一边。
57595 . ** 优先保留两边有效意图。** 目标不是“偏向哪边”,而是“best of both worlds”。
@@ -70,7 +72,7 @@ description: "This skill should be used when the user asks to merge `caozhiyuan/
7072- 当前分支是否是 ` dev `
7173- 工作树是否干净
7274- ` czy-all ` 当前是否继续跟踪 ` origin/czy-all `
73- - ` caozhiyuan/all ` 是否可 fetch / pull
75+ - ` caozhiyuan/dev ` 是否可 fetch / pull(若本地仍残留 ` remotes/caozhiyuan/all ` ,可用 ` git fetch caozhiyuan --prune ` 清理)
7476
7577再做一次方向检查(必须明确回答):
7678
@@ -90,15 +92,15 @@ git remote -v
9092git fetch caozhiyuan
9193```
9294
93- ### 第二步:临时切到 ` czy-all ` ,把 ` caozhiyuan/all ` 带进 ` czy-all `
95+ ### 第二步:临时切到 ` czy-all ` ,把 ` caozhiyuan/dev ` 带进 ` czy-all `
9496
9597在 ` czy-all ` 上执行同步,但** 不要改变 ` czy-all ` 的 tracking** 。` czy-all ` 只是同步落点,不是默认停留分支;完成这一段后应回到 ` dev ` 。
9698
9799推荐做法:
98100
99101``` bash
100102git checkout czy-all
101- git pull --ff-only caozhiyuan all
103+ git pull --ff-only caozhiyuan dev
102104```
103105
104106若不是 fast-forward,再进入正常 merge / rebase 判断,但不要先改 upstream。
@@ -127,7 +129,7 @@ git checkout dev
127129gh pr create --base dev --head czy-all
128130```
129131
130- PR 标题和摘要要围绕** 这次从 ` caozhiyuan/all ` 带来的真实变更** ,不要只写一句泛泛的 sync branch。
132+ PR 标题和摘要要围绕** 这次从 ` caozhiyuan/dev ` 带来的真实变更** ,不要只写一句泛泛的 sync branch。
131133
132134生成 PR 摘要时,先看:
133135
@@ -363,7 +365,7 @@ czy-all 侧:
363365- 把”跟踪谁”与”拉谁的内容”混为一谈
364366- 未经用户明确要求,在 ` czy-all ` 上执行 ` merge dev ` / ` rebase dev ` 之类反向写入
365367- PR 有冲突时,仍误以为只能在 GitHub 页面解决,而拒绝在本地 ` dev <- czy-all ` 后 push ` dev ` 让 PR 自动 merged
366- - 把 ` czy-all ` 当作长期开发分支,写入与”同步 caozhiyuan/all + 提 PR 到 dev”无关的改动
368+ - 把 ` czy-all ` 当作长期开发分支,写入与”同步 caozhiyuan/dev + 提 PR 到 dev”无关的改动
367369- 没有先 push ` origin/czy-all ` 就开 PR
368370- PR 摘要不看实际提交和 diff,胡乱概括
369371- ** 看到 sub-agent 意见与自身建议相同,就以”三方对齐”为由直接执行** — 这是最常见的违规,必须明确禁止
@@ -375,7 +377,7 @@ czy-all 侧:
375377
376378- 当前本地分支是 ` dev ` ,而不是停留在 ` czy-all `
377379- ` czy-all ` 仍然跟踪 ` origin/czy-all `
378- - ` caozhiyuan/all ` 的最新内容已经带进本地 ` czy-all `
380+ - ` caozhiyuan/dev ` 的最新内容已经带进本地 ` czy-all `
379381- ` origin/czy-all ` 已推送
380382- PR 已从 ` czy-all ` 指向 ` dev `
381383- 若通过本地解决 PR 冲突,` dev ` 已包含 ` czy-all ` head,已推送 ` origin/dev ` ,且 PR 已自动变为 merged/closed
0 commit comments