变更历史 · Git
Blyck 会把人和 AI 改动过的内容集中到一个窗口(ChangeSet)中显示,并且可以撤销。文件变更以 git(记录代码变更的程序)为准,DB·服务器命令·软件包安装则记录在 Blyck 的变更记录中。不需要另外锁定或准备,会自动记录。
| 功能 | 免费 / Pro |
|---|---|
ChangeSet 窗口、撤销、git 状态·提交·推送·分支、.gitignore 编辑、连接 GitHub | 免费 |
| [✨ AI 信息](自动撰写提交信息) | Pro |
| 自动检查点(AI 回答结束时自动提交) | 只在使用 AI(Pro)时产生。查看·撤销已有的检查点免费 |
打开 ChangeSet 窗口
Section titled “打开 ChangeSet 窗口”
- 用 [所有更改] / [此任务] 切换范围 · [GitHub] 连接和推送
- Git 栏 — 分支、未提交数、提交、推送
- 更改的文件(📁 shop-api (git · 2))— 每行的 [撤销] 可恢复到最后一次提交的状态
- 点击一行,右侧显示更改前(红)/ 更改后(绿)
| 方法 | 初始范围 |
|---|---|
Ctrl+Shift+H 或 Ctrl+Shift+K | 所有更改 |
| 命令面板 → 变更历史 / Git | 所有更改 |
| AI 聊天输入框下方的 📦 N | 此任务(该聊天) |
📦 旁边的数字是该聊天文件夹中尚未提交的文件数 + DB/SSH/软件包记录数。
| 部分 | 作用 |
|---|---|
| [更改] / [提交历史] 标签页 | 改动列表 / git 提交列表 |
| [所有更改] / [此任务] | 切换范围([此任务] 需要有 AI 聊天才能点击) |
| 选择文件夹 | AI 聊天有 2 个以上文件夹时,选择全部或其中一个 |
| [GitHub] | GitHub 连接·推送·导入 |
| git 栏 | 分支·提交·推送(见下文) |
| 左侧列表 / 右侧详情 | 点击某一行,右侧会显示变更前·后 |
| [包含已归档] · [全部标为已部署] | 也显示以“已部署”关闭的条目 / 把当前列表全部标为已部署(归档)并关闭 |
| [清理备份表] | 删除撤销时已不再需要的服务器 DB 备份表 |
[更改] 标签页 — 能看到什么
Section titled “[更改] 标签页 — 能看到什么”文件(以 git 为准)
Section titled “文件(以 git 为准)”- 只在 [此任务] 范围中显示。会显示该 AI 聊天的项目文件夹中 git 认为“有改动”的所有文件。因此,Claude·Codex 用自带编辑功能改过的文件、终端或其他程序改过的文件也都会显示。
- 行的样式:
📄 文件名 · 状态符号(M已修改,??新文件等)以及 [撤销] 按钮。
DB / SSH / 软件包(以 Blyck 记录为准)
Section titled “DB / SSH / 软件包(以 Blyck 记录为准)”| 图标 | 含义 |
|---|---|
| 🛠 | DB 结构变更(CREATE·ALTER 等) |
| 💾 | DB 数据变更(INSERT·UPDATE·DELETE) |
| 🖥 | 服务器命令 |
| 📦 | (行首)软件包安装 /(行尾)已归档 |
| 👤 / ✨ | 人 / AI |
| ↩ | 已撤销 |
| ⚠ | 无法撤销 |
点击某一行,会显示 执行的 SQL、撤销 SQL、连接。
| 类型 | 何时记录 |
|---|---|
| 文件 | 编辑器保存(👤)、AI 用 Blyck 工具写入的文件(✨)、更改文件夹、撤销 |
| DB 结构 · 数据 | 人·AI 修改 DB 时(在 UPDATE·DELETE 之前创建用于撤销的备份) |
| 服务器命令 | AI 执行会改动东西的命令时(rm、mv、安装等) |
| 软件包 | AI 安装 pip 软件包时 |
不记录的内容:只读操作、超过 1MB 的文件、Claude·Codex 用自带编辑功能改过的文件(这些只在 git 中可见)、人在终端里直接输入的命令。
| 撤销什么 | 在哪里 | 动作 |
|---|---|---|
| 未提交的文件 | [更改] 标签页文件行的 [撤销] | 恢复到最后一次提交的状态 |
git 中新出现的文件(??) | 同一个按钮 | 永久删除文件(不会进回收站) |
| DB 变更 | DB 记录行 → [撤销数据库更改] | 执行撤销 SQL(需要 DB 处于连接状态) |
| 一个提交 | [提交历史] 标签页的 [撤销] | 创建一个反向操作该提交的新提交 |
| 一次 AI 回答 | 回答上的 📝 N 个更改 标签 | 创建一个撤销该回答所产生提交的新提交 |
| 服务器命令 · 软件包安装 | — | 无法撤销(只留下记录) |
- 所有撤销都会先弹出确认窗口。会删除或覆盖的操作是红色按钮。
- AI 执行撤销·丢弃变更·推送时,也要经过同样的确认窗口。
Git 栏 — 状态 · 提交 · 推送
Section titled “Git 栏 — 状态 · 提交 · 推送”
- ⎇ main(切换分支)· +(创建新分支)· “· 2 个未提交” · 🚫 排除 / 右侧 ⟳ 获取(fetch)· ⤓ 拉取(pull)· ⤒ 推送(push)
- 提交行 — [✨ AI 信息] 读取更改内容并填入提交信息草稿后,点 [提交](🔍 验证 用于检查危险更改)
这是 [更改] 标签页上方的 git 操作栏。只有在 AI 聊天设好了项目文件夹时才会出现。本地和远程(SSH)文件夹都可以。
- 如果不是 git 仓库,用 [⎇ 初始化 Git 仓库] 创建仓库并留下第一次提交。
| 部分 | 作用 |
|---|---|
⎇ 分支 / + | 切换分支 / 新建分支 |
↑N ↓M · {n} 个未提交 | 待推送的提交 / 待拉取的提交 / 未提交的文件数 |
| [🚫 排除] | .gitignore 编辑窗口 |
| ⟳ / ⤓ / ⤒ | 获取(fetch) / 拉取并合并(pull) / 推送(push) |
| 提交信息… 栏 | 填写提交说明 |
| [✨ AI 信息] | AI 读取改动内容并填入信息草稿 (Pro) |
| [提交] | 提交 |
| [🔍 验证] | 检查危险的变更 |
- 用
Ctrl+Shift+K打开窗口,点 [此任务] 确认改动过的文件。 - 填写信息,或点 [✨ AI 信息]。
- [提交] →“提交完成 1a2b3c4”。
- 点 ⤒ 推送。
🚫 排除(编辑 .gitignore)
Section titled “🚫 排除(编辑 .gitignore)”[🚫 排除] → 在 Git 排除设置 窗口中填写模式并保存。窗口会按文件夹·扩展名显示改动文件的数量,还可以用 📋 推荐文件模式 或 常用模式: 标签一次性加入常见模式。同时取消跟踪已跟踪的文件(保留文件) 默认是开启的,已经在跟踪的文件也会被移出跟踪(文件仍保留在磁盘上)。不需要的话请关闭后再保存。提交之后才会生效。
查看当前工作的记录,找出危险的部分并用 ❌/⚠/✅ 显示。
- 没有
WHERE的UPDATE/DELETE DROP COLUMN/DROP TABLE- 添加
NOT NULL - 新增了函数,但测试文件没有改动
- 代码中用到的环境变量在
.env里没有
[提交历史] 标签页
Section titled “[提交历史] 标签页”- 显示最近 50 个提交。点击提交可以看到完整信息和改动内容。
- 只存在于服务器上的提交会单独显示为 ⬇ 来自 GitHub 的 {n} 个传入提交。
- [撤销] 会创建一个反向操作该提交的新提交。如果发生冲突,请在终端中手动处理。
自动检查点与按回答撤销(Pro)
Section titled “自动检查点与按回答撤销(Pro)”这是一条每次 AI 回答结束时自动提交改动文件的安全带(信息以 checkpoint: 开头)。出了问题可以按回答为单位轻松撤销。
开启位置:AI 聊天栏上方的 ⋯ → 对话设置 → 显示 → 🖥 显示 / 流式 → 每个任务自动 git 检查点。默认是关闭的。
- 开启上述设置。项目文件夹必须是 git 仓库。
- 让 AI 干活。
- 回答结束后会弹出“✓ 检查点 1a2b3c4”提示,回答上会附上 📝 N 个更改 标签。
- 点击标签可以查看该回答改动的内容。
- 要撤销就点 [撤销此回答]。改主意了就点 [重新应用]。
- 只支持本地文件夹。远程文件夹不会创建检查点。
- 检查点也会提交该文件夹的所有变更(包括人改动的部分)。
- 如果工作文件夹中有其他未提交的变更,撤销回答可能会失败。
连接 GitHub
Section titled “连接 GitHub”打开位置:ChangeSet 窗口上方的 [GitHub] 按钮。
- 点 [🔗 连接 GitHub],会显示一个代码,并在浏览器中打开 GitHub 授权页面。
- 在浏览器中输入代码并批准。
- Blyck 中会显示 已连接 GitHub ✓ 和 ✓ @用户名。
| 想做的事 | 方法 |
|---|---|
| 推送为新仓库 | 🚀 推送到 GitHub → 新建仓库 → 名称(已预先填入文件夹名)·私有(默认) → [推送] |
| 关联到现有仓库 | 现有仓库 → 从列表中选择并点 [关联](当前分支也会推送) |
| 从 GitHub 导入 | 📥 从 GitHub 导入 → 选择仓库 → [导入] → 选择父文件夹。如果当前栏位是 AI 聊天,导入的文件夹会成为该聊天的工作文件夹 |
| 断开连接 | [断开连接] |
- 连接密钥(令牌)使用系统加密保存。
- 连接了 GitHub 后,推送到 github.com 仓库时会自动登录。
| 无法撤销的内容 | 替代做法 |
|---|---|
| 服务器命令(SSH·WinRM)、软件包安装 | 手动处理 |
| 超过 1MB 的文件 | 只能用 git |
| Claude·Codex 用自带编辑功能改过的文件 | [此任务] 中的 git 文件行(提交前),或撤销检查点·提交 |
| 对 git 中新出现文件的“撤销” | 会被永久删除 — 点之前一定要确认 |
DROP·TRUNCATE、INSERT | 没有撤销 SQL·备份 |
SQLite 中修改超过 1,000 行的数据、没有主键时 UPDATE 的数据 | 没有备份 |
服务器 DB 中带联接·子查询的复杂 UPDATE·DELETE、手动提交模式下的变更 | 没有备份 |
| DB 撤销本身 | 不能“撤销撤销” |
记录保留规则
Section titled “记录保留规则”每个对象保留最近 40 条、14 天,总计最多 2GB。以“已部署”关闭的条目会一直保留。记录文件是 Blyck 用户文件夹中的 blyck-history.db。
Q. 用 Ctrl+Shift+H 打开后一个文件都看不到。
[所有更改] 范围不显示文件。请点 [此任务](需要 AI 聊天)。
Q. [此任务] 按钮点不了。 没有打开的 AI 聊天。请打开 AI 聊天,或通过聊天的 📦 标签打开。
Q. 看不到 git 栏。 AI 聊天没有项目文件夹。请在 AI 聊天中设置工作文件夹。
Q. 推送马上就失败了。 没有登录信息。请在 [GitHub] 中连接,或在终端中设置 git 凭据。
Q. 提交里混进了不想要的文件。 [提交] 会提交所有变更。请先用 [🚫 排除] 排除。
Q. 没有生成检查点。 可能是设置没开、是远程文件夹、不是 git 仓库,或者没有改动。
Q. 撤销 DB 时提示“请先连接数据库”。 DB 连接已关闭。请在 DB 树中重新连接。