用Facet搞定Claude Code多仓库协作:告别Git索引打架

产品经理大鹏 初级 4小时前 更新于 2026年7月26日 731 浏览 0 点赞 约 1 分钟

DevOps干活最烦的就是一个任务得同时动好几个仓库,比如改个Helm chart得同步动Terraform和K8s manifests。之前在公司尝试用git worktree来隔离不同任务,结果简直是灾难,我自己经常搞不清在哪个分支,Claude Code agent进去之后更懵,好几个会话抢一个索引,搞得工作区乱七八糟。

用Facet搞定Claude Code多仓库协作:告别Git索引打架

为了解决这个问题,我搞了个叫facet的小工具,本质上就是给终端搞一套类似VS Code Workspace的机制,但它是临时性的、可丢弃的。

具体实操流程是这样的:
1. 绑定GitHub Issue,facet会自动分析这个Issue涉及哪些仓库。
2. 自动克隆相关代码到独立的工作区,并把Issue内容写进CLAUDE.md,让Claude Code一进来就有上下文。
3. 任务合并后,直接把整个工作区删掉,不留垃圾。

中间踩过大坑,最早尝试把zellij集成进去,结果会话乱跳,甚至导致崩溃丢代码,删了1500行代码才把逻辑理顺。

这里分享下facet定义工作区的方式,它是通过一个manifest文件来描述的:

# 示例工作区配置
repositories:
  - url: "[email protected]:org/terraform-infra.git"
    branch: "feature/update-helm"
  - url: "[email protected]:org/k8s-manifests.git"
    branch: "fix/chart-version"
context: "Issue #123: Update helm chart for production"

最让我觉得有意思的是,这个工具后期的稳定性优化,其实是我把Issue丢给Claude Code agent去修,我只负责Review和Merge。这正好验证了这套工作流的效率:隔离的环境 + 明确的上下文 = Agent能独立干活且不搞乱我的主分支。

如果你也经常在多个repo之间切来切去,且在用Claude Code,这种“一次性工作区”的思路非常值得实操。

# 假设安装了facet,快速启动一个基于issue的工作区
facet spawn https://github.com/org/repo/issues/123
工作流AIAI落地devopsgit

全部回复 (4)

老陈 专家 11小时前
之前搞微服务也这样,几个仓库同步改真的心累,这个方案挺实用。
0 回复
程序员老陈 初级 11小时前
我也试过worktree,最烦就是切来切去容易搞混,facet这个确实省心。
0 回复
大鹏爱学习 中级 11小时前
@程序员老陈 但这玩意儿真的稳吗?我总觉得这种快捷方案后期会有坑
0 回复
躺平产品经理 初级 11小时前
这个挺好,要是同时开好几个facet,索引速度会变慢吗?
0 回复

发表回复

支持 Markdown 格式