更新日志
MyTwig 每个版本的发布日期和更新内容。 下载
v0.3.1
- 关闭 Repositories 标签页,或在它或某个页面显示时点按其他标签页,MyTwig 不再闪退。
- 搜索(包括 AI 写的搜索)中的日期涵盖一整天:
after:从当天零点开始,before:到当天结束,所以after:2026-10-22 before:2026-10-22能找到当天的提交,而不是什么都找不到。 - 指针停在差异的区块标题或折叠行分隔条上时,鼠标滚轮也能滚动差异,拉取请求审查中同样如此。
v0.3.0
- 更多地方可以用 AI。 在搜索栏用自然语言描述想找的提交(例如“上个月我在登录相关的地方改了什么”),模型会替你写好搜索条件。在命令面板中,“Ask AI:…”会为你的请求规划好 Git 步骤;勾选要执行的步骤即可运行,一次撤销就能恢复仓库。
- 在应用内查看 CI。 拉取请求会列出它的检查,失败的排在前面。GitHub Actions 任务的日志直接定位到第一个错误,可以让模型解释原因;失败的任务可以单独重跑或连同整个运行一起重跑,也可以开关自动合并。
- 查看上次审查后的改动。 之前审查过的拉取请求会直接显示此后的改动,即使经过强制推送或变基也一样,并把前后的提交一一对应。
- 拖放前先预览。 在拖放菜单中把鼠标停在变基或合并选项上,或者使用“同步堆栈”时,提交图会先画出结果:重新生成的提交、移动后的分支,以及会因冲突而停下的提交。
- 丰富差异视图:支持 Jupyter 笔记本、Markdown、SVG、JSON 和 YAML,也可以切回按行显示。
- 记住冲突的解决方式(git rerere):冲突列表会标出“与上次相同”,并提供“标记为已解决”和“重新解决”。
- Monorepo 范围。 “只看某个文件夹…”会把提交图、改动和搜索都限制在一个文件夹内,显示 CODEOWNERS 中的负责人,还可以只检出这个文件夹(稀疏检出)。
- 推送前扫描密钥。 推送和创建拉取请求时,会检查尚未推送的提交中是否有令牌、密钥或密码,有的话先询问你。可以在 设置 → Git → 密钥 中关闭。
- Jira 和 Linear(设置 → 集成):在分支和提交上显示问题,任务页面可以用列表或看板查看,“开始工作”会创建问题对应的分支,拉取请求创建和合并时问题会随之移动状态。
- mytwig:// 链接可以在 MyTwig 中打开仓库、提交、分支、拉取请求或文件;提交的菜单中有“复制 MyTwig 链接”。
- 拉取请求模板:支持 GitHub、GitLab、Gitea、Forgejo、Bitbucket 和 Azure DevOps 的模板,并可以从列表中选择。
- 实验功能(设置 → 实验性功能):
- 设置 → 关于 中新增 许可证 和 第三方声明。公开测试版无需许可证。
- 设置中的账号、SSH 密钥和凭据统一使用同一种行样式,每行一个 ⋯ 菜单;“身份”和“签名”改为编辑时自动保存。
- 左侧面板中的分支文件夹可以对其中所有分支一起操作(隐藏、显示、单独显示、删除、选择);“本地”“远程”“标签”和“贮藏”标题上的眼睛图标可以在提交图中隐藏这一类。
- 命令面板会把你最常用的命令排在前面。
- 双击已在另一个工作树中检出的分支,会直接打开那个工作树。
- VoiceOver 可以读出列表、按钮、面板和设置项的名称,把改动的文件读作“已添加 b.txt”,并播报开始执行的操作和出现的错误。
- 使用 Go 1.27.3 构建,修复了标准库中的一个安全问题。
- 有多个 GitHub 账号时,由其中某个账号列出的仓库现在会用该账号克隆,不再报“Repository not found”,之后的拉取和推送也会使用同一个账号。
v0.2.3
- 用键盘进行交互式变基。 上/下(或 K/J)选择提交,Cmd+上/下 移动它,P、R、S、F、D 分别是保留、改写、压缩、修正和丢弃,回车开始变基,Esc 取消。行菜单里列出了这些按键。
- 把分支拖到远程分支上即可变基或合并。 除了创建拉取请求,现在还可以把分支变基到该远程分支上,或合并进它的本地分支;没有代码托管平台时也可以用。
- 冲突预览。 冲突文件的结果可以在“编辑”和“预览”之间切换:预览实时显示结果相对于我方的差异,也就是保存后的样子,并标出剩下的冲突。
- AI 解释和拉取请求描述支持更多图表:状态图、类图、实体关系图和 Git 提交图。
- 每个 AI 提示词都有自己的编辑窗口。 设置 → AI 中每个任务的提示词占一行,点“编辑…”会在可调整大小的编辑器中打开,旁边列出可用的占位符。
- 在设置 → Git 中可以直接编辑问题链接,不用再删掉重填。
- 未暂存和已暂存的文件列表现在可以拖动分隔条分配空间,不再各自限制为六行。
- 有拉取请求的分支在以下情况下也会显示标记:账号在第一次读取期间才加载完、分支在同一主机上的 fork 中、刚刚创建拉取请求。
- 从程序坞或访达启动时,MyTwig 也能找到 Homebrew 安装的 GitHub CLI,从而识别 gh 的登录。
- 鼠标滚轮在差异视图的审查评论、区块按钮和悬停卡片上也能滚动。
v0.2.2
- 玻璃通透度。 在 macOS 上,设置 → 外观 → 玻璃通透度 可以调节侧栏、详情面板、命令面板和对话框透出下方内容的程度,从磨砂(0)到接近透明(100),默认 50。拖动滑块时面板会实时变化。
- 帮助 → 发送反馈… 会在 GitHub 上用与应用语言一致的表单新建一个 issue,并自动填好 MyTwig 版本、操作系统、系统版本和架构。
- 所有的旋转图标和“正在载入…”文字统一换成一个安静的加载指示;Git 执行操作时(例如推送)工具栏也会显示它。
- 更新了应用的界面框架,重绘更流畅,任何缩放级别下文字都清晰。
- 克隆仓库 时,仓库列表的搜索框现在可以点击和输入。同样的修复也让“添加远程”“编辑远程”“创建拉取请求”和拉取请求审查评论中的每个输入框都能正常获得键盘焦点。
- GitLab 账号(以及其他手动添加的账号)现在会在 设置 → 账户 和克隆对话框的账号列表中显示用户名;无法连接时显示主机名,而不是空白。
v0.2.1
- 把分支拖到远程分支上即可创建拉取请求。 在提交图或左侧面板中,把本地分支拖到远程分支上:MyTwig 会先推送本地分支,再打开新建拉取请求的对话框,并以该远程分支作为目标分支。拖动远程分支则直接以它创建拉取请求。
- 分支标签上显示远程图标。 远程分支的标签用远程的图标代替
origin/前缀:可以是代码托管平台上所有者的头像、平台的标志(GitHub、GitLab、Bitbucket、Gitea、Forgejo、Codeberg、SourceHut),或你自己选的图片。在左侧面板右键点按远程即可选择图标;在 设置 → 提交图 → 远程分支 中选择“名称”可恢复显示名称。 - 未提交的改动(// WIP)与当前检出的提交之间用虚线相连。
- 提交图中贮藏的标签显示贮藏图标。
- 提交图列较窄时,WIP 节点和贮藏节点会留在列内,不再遮住提交信息。
v0.2.0
- 显示所有分支的提交图,带分支和标签标签、作者头像;列可以调整宽度、重新排序和隐藏。即使是像 Git 本身那样有 85,000 个提交的历史,也能流畅浏览。
- 提交搜索:输入时按提交信息、作者、SHA 或引用即时查找;也可以用运算符搜索整个历史:
content:、change:、message:、author:、path:、after:、before:。 - 文件历史、追溯(blame)和行范围历史;还可以浏览某个提交当时的全部文件。
- 比较任意两个分支、标签或提交,并从比较结果中拣选(cherry-pick)。
- 此外还有:reflog 视图、带横幅提示的 bisect、显示在提交图中的贮藏,以及滚动条上的位置标记。
- 按文件、区块或选中的行暂存、取消暂存或丢弃;丢弃可以撤销。
- 提交框支持提交模板、摘要长度提示、共同作者、Signed-off-by、最近的提交信息、修订上一次提交,以及提交并推送。
- 拆分提交与将改动拆分为多个提交:按文件、区块或行,把一个提交或尚未提交的改动拆成多个提交。
- Absorb:把暂存的修复并入最后修改那些行的提交。
- 部分贮藏和快照贮藏、补丁(保存与应用),以及在右键菜单中忽略文件,并提供现成的
.gitignore模板。 - 把一个分支拖到另一个分支上即可合并或变基。合并方式有多种:快进、合并提交、压缩合并,或在提交前停下。
- 冲突预测:在冲突发生之前提示与上游分支或默认分支的冲突。
- 冲突编辑器:上方并排显示双方版本,下方是可编辑的结果,支持查找与替换。
- 交互式变基:拖动调整顺序,或对提交执行 pick、reword、squash、fixup 和 drop;也可以拖动多个选中的提交来压缩或移动它们。
- 提交、合并、变基、检出、分支变更和贮藏都支持撤销与重做。操作时间线可以把仓库恢复到变基、重置、拉取、合并等操作之前的状态。
- 抓取、拉取和推送时显示进度以及领先/落后的提交数。有风险的推送会先询问(推送到默认分支、超过 100 MB 的文件、远程已分叉),并支持后台自动抓取。
- 此外还有:工作树、子模块、Git LFS、Git Flow,以及堆叠分支(实验性)。
- 在侧边栏和提交图的标签上显示 GitHub(含 Enterprise)、GitLab、Gitea/Forgejo 和 Bitbucket Cloud 的拉取请求与议题。
- 在应用内审查 GitHub 拉取请求:可以在任意行评论,回复并解决讨论,批准或要求修改,以及合并。
- 克隆时会列出你登录的所有账号下的仓库;还提供大型仓库选项(blobless、浅克隆、稀疏检出)和“仓库性能”面板。
- 菜单栏/托盘小组件:显示等待你处理的拉取请求、CI 结果、通知、活动统计,以及最近使用的仓库的状态。
- 生成提交信息;解释提交或一组改动,输出 Markdown 和图表;撰写拉取请求描述;在冲突编辑器中给出解决建议;让模型规划如何把改动拆分为多个提交。
- 支持的服务商包括 Anthropic、OpenAI 及兼容 OpenAI 接口的服务(DeepSeek、通义千问、Kimi、OpenRouter、Microsoft Foundry、LiteLLM)、Google Gemini、本机的 Ollama 和 LM Studio,以及
claude、codex、copilot、gemini命令行工具。提示词可以按用户或按仓库修改。 - 请求从你的电脑直接发往你选择的服务商。
- 每个仓库一个标签页;仓库管理器支持分组和扫描文件夹;命令面板;可以在设置中修改的快捷键。
- 设置窗口支持搜索。提供浅色/深色主题、强调色、界面字体和代码字体(内置多款)、缩放和头像风格;macOS 上还有可以关闭的 Liquid Glass 风格。
- 支持英文和简体中文。
- 此外还有:内置终端面板、在编辑器或终端中打开、自定义命令、多套身份配置、根据账号选择“提交身份”、提交签名(GPG、SSH、X.509)、SSH 密钥管理、Git 命令日志,以及
mytwig命令行启动器(macOS 和 Linux)。 - 签名的自动更新:MyTwig 每 30 分钟从本仓库检查一次新版本,安装前会校验每个更新的 Ed25519 签名。可以在 设置 → 通用 → 更新 中配置。
- 一条命令安装:macOS 和 Linux 上运行
curl -fsSL https://github.com/HeroSizy/mytwig-releases/releases/latest/download/install.sh | sh,Windows 上在 PowerShell 中运行[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; irm https://github.com/HeroSizy/mytwig-releases/releases/latest/download/install.ps1 | iex。在 macOS 上,脚本会校验下载文件的 Ed25519 签名,把 MyTwig 安装到/Applications(或~/Applications)并打开,不会出现 Gatekeeper 提示;在 Windows 上,脚本会校验安装程序的 SHA-256 并静默安装。在 macOS 和 Linux 上,--uninstall可卸载 MyTwig,设置会保留。 - 按 Mac 类型分别提供 macOS 版本:Apple 芯片请使用
MyTwig 0.2.0 arm64.dmg,Intel Mac 请使用MyTwig 0.2.0 amd64.dmg,每个大小约为通用版应用的一半。安装脚本会自动选择合适的版本,每个版本也只从对应架构的更新中升级。 - 可选的崩溃报告(默认关闭)。首次启动时会询问一次,也可以在 设置 → 隐私 中开关。只报告真正的崩溃,退出或强制退出应用不会产生报告。报告只包含 MyTwig、git 和操作系统的版本、在 MyTwig 代码中崩溃的位置,以及一个随机的安装 ID,绝不包含你的代码、文件路径、分支名、远程仓库、姓名或邮箱。查看最近的报告… 会原样显示发送的内容。设置 → 隐私中还列出了 MyTwig 连接的所有主机。
- 空闲时几乎不占用资源:只重新读取磁盘上变化的部分,只在需要时抓取,隐藏的标签页在你打开时才刷新。
- 宽历史下绘制更快:只绘制可见的提交图泳道。
- 布局适应窄窗口:作者、SHA 和日期列会先让出空间,然后是侧边栏,提交信息最后。
- 缩放作用于整个窗口,包括标题栏这一行和标签页。
- 在任何强调色上,无论浅色还是深色,文字都清晰可读。
- 从程序坞或访达启动时,Git 也能找到你在终端中使用的工具,例如 Homebrew 安装的 Git 和 git-lfs 钩子。
- 代码托管平台的令牌在所有平台上都保存在系统钥匙串中:macOS 的钥匙串、Windows 的凭据管理器,以及 Linux 的 Secret Service。
- 窗口缩放后,差异、追溯和冲突编辑器不再缺失行。
- 窗口较窄时,提交标题不再显示为空。
- 历史之外的读取失败(例如残留的子模块条目)不再导致分支、标签和贮藏列表变空。
- 仓库在窗口就绪之前加载完成时,应用不再在启动时崩溃。
- 在 GitHub Enterprise 服务器上,即使远程 URL 的大小写不同,拉取请求也能匹配到对应分支;开放的拉取请求超过 100 个的仓库也能全部显示。
- 终端面板获得键盘焦点时,方向键、Esc 和 Control 组合键等会发送给 shell,而不是提交图。
- 工具提示会跟随浅色或深色主题。
- 未签名的构建。 macOS 应用只有临时(ad-hoc)签名,没有使用 Apple 开发者 ID 签名,也未经公证,所以首次启动会被 Gatekeeper 拦截,需要在 系统设置 → 隐私与安全性 中点按 仍要打开。Windows 安装程序没有代码签名,SmartScreen 可能会发出警告。
- 终端面板。 关闭仓库标签页或退出 MyTwig 时,终端面板中的 shell 及其中仍在运行的程序会直接结束,不会先询问。
- Windows 版本的测试不如 macOS 和 Linux 版本充分:测试套件会为 Windows 编译,但不会在 Windows 上运行。
- 代码托管平台的差异。 目前只有 GitHub 支持在应用内审查拉取请求。Bitbucket 只显示拉取请求,不显示议题;菜单栏只能找到你自己创建的 Bitbucket 拉取请求。GitLab 不能按提及(mention)筛选。
- 通过
.deb安装的 Linux 版本不会自动更新。 请安装新版本的软件包,或改用可以自动更新的install.sh。 - 部分功能需要更新的 Git:只贮藏已暂存改动需要 2.35,冲突预测和堆叠分支变基需要 2.38。最低要求是 Git 2.32。
- 堆叠分支是实验性功能,默认关闭(设置 → 实验性)。