Changelog · 更新日志
Every MyTwig release with its date and notes, in English and Chinese. Downloads
v0.3.1
- Closing the Repositories tab, or clicking another tab while it or a page was showing, no longer quits MyTwig.
- A date in the search, or in a search the AI writes, covers the whole day:
after:from its midnight andbefore:through its end, soafter:2026-10-22 before:2026-10-22finds that day's commits instead of none. - The mouse wheel scrolls a diff while the pointer is over a hunk's header or a hidden-lines separator, also in pull request review.
- 关闭 Repositories 标签页,或在它或某个页面显示时点按其他标签页,MyTwig 不再闪退。
- 搜索(包括 AI 写的搜索)中的日期涵盖一整天:
after:从当天零点开始,before:到当天结束,所以after:2026-10-22 before:2026-10-22能找到当天的提交,而不是什么都找不到。 - 指针停在差异的区块标题或折叠行分隔条上时,鼠标滚轮也能滚动差异,拉取请求审查中同样如此。
v0.3.0
- Work with AI in more places. Describe the commits you want in the search bar (“what did I change in the login last month”) and the model writes the search for you. In the command palette, “Ask AI: …” plans the git steps for a request; you tick the steps to run, and one Undo puts the repository back.
- CI in the app. A pull request lists its checks, failed ones first. A GitHub Actions job's log opens at its first error, the model can explain it, a failed job runs again on its own or with its run, and auto-merge turns on or off.
- Review what changed since your last review. A pull request you reviewed before opens on what changed since, also after a force-push or rebase, with its commits paired then and now.
- Preview a drop before it runs. Hovering a rebase or merge in the drop menu, or Sync Stack, draws the result on the graph: the commits made again, the branches moved, and the commit that would stop on conflicts.
- Rich diffs for Jupyter notebooks, Markdown, SVG, JSON and YAML, with a switch to the plain lines.
- Remembered conflict resolutions (git rerere), marked “as last time” in the conflict list, with Mark Resolved and Resolve Again.
- Monorepo scope. Scope to Folder… keeps the graph, the changes and the search to one folder, shows its owners from CODEOWNERS, and can check out only that folder (sparse checkout).
- Secret scan before pushing. Push and Create Pull Request check the commits not on a remote yet for tokens, keys and passwords, and ask first. Turn it off in Settings → Git → Secrets.
- Jira and Linear (Settings → Integrations): issues on branches and commits, a Tasks page as a list or a board, Start Work to make the issue's branch, and issues moved as their pull requests open and merge.
- mytwig:// links open a repository, a commit, a branch, a pull request or a file in MyTwig, and a commit's menu has Copy MyTwig Link.
- Pull request templates from GitHub, GitLab, Gitea, Forgejo, Bitbucket and Azure DevOps, with a list to pick one.
- Experimental (Settings → Experimental):
- License and Third-Party Notices in Settings → About. Public Beta builds need no license.
- The settings use one row style for accounts, SSH keys and credentials, with one ⋯ menu each; Identity and Signing save as you edit them.
- A branch folder in the left panel acts on all its branches (hide, show, solo, delete, pick), and an eye on each of Local, Remote, Tags and Stashes hides that kind in the graph.
- The command palette lists your most used commands first.
- Double-clicking a branch that another worktree has checked out opens that worktree.
- VoiceOver names the lists, buttons, panels and settings, reads changed files as “Added b.txt”, and announces work that starts and errors.
- Built with Go 1.27.3, which fixes a security issue in the standard library.
- A repository listed by one of several GitHub accounts clones with that account, instead of failing with “Repository not found”, and later fetches and pushes use the same account.
- 更多地方可以用 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
- Interactive rebase from the keyboard. Up/Down (or K/J) select a commit, Cmd+Up/Down move it, P, R, S, F and D pick, reword, squash, fix up or drop it, Enter starts the rebase and Esc cancels. The row menu shows the keys.
- Rebase or merge by dropping a branch on a remote branch. Besides a pull request, the drop now offers to rebase the branch onto the remote branch, or to merge into its local branch, also without a forge.
- Conflict preview. The result of a conflicted file switches between Edit and Preview: a live diff of the result against ours, as it would be saved, with the conflicts left marked.
- More diagram kinds in AI explanations and pull request descriptions: state, class and entity relationship diagrams and git graphs.
- A window for each AI prompt. Settings → AI lists each task's prompt in one row; Edit… opens it in a resizable editor beside its placeholders.
- Edit an issue link in place in Settings → Git, instead of removing it and typing it again.
- The unstaged and staged file lists share the working tree panel in a split you can drag, instead of six rows each.
- A branch with an open pull request shows its mark also when the accounts loaded during the first read, when the branch is on a fork on the same host, and right after the pull request is opened.
- MyTwig finds the GitHub CLI installed by Homebrew also when it starts from the Dock or Finder, so a gh sign-in is detected.
- The mouse wheel scrolls a diff also over its review comments, hunk buttons and hover cards.
- 用键盘进行交互式变基。 上/下(或 K/J)选择提交,Cmd+上/下 移动它,P、R、S、F、D 分别是保留、改写、压缩、修正和丢弃,回车开始变基,Esc 取消。行菜单里列出了这些按键。
- 把分支拖到远程分支上即可变基或合并。 除了创建拉取请求,现在还可以把分支变基到该远程分支上,或合并进它的本地分支;没有代码托管平台时也可以用。
- 冲突预览。 冲突文件的结果可以在“编辑”和“预览”之间切换:预览实时显示结果相对于我方的差异,也就是保存后的样子,并标出剩下的冲突。
- AI 解释和拉取请求描述支持更多图表:状态图、类图、实体关系图和 Git 提交图。
- 每个 AI 提示词都有自己的编辑窗口。 设置 → AI 中每个任务的提示词占一行,点“编辑…”会在可调整大小的编辑器中打开,旁边列出可用的占位符。
- 在设置 → Git 中可以直接编辑问题链接,不用再删掉重填。
- 未暂存和已暂存的文件列表现在可以拖动分隔条分配空间,不再各自限制为六行。
- 有拉取请求的分支在以下情况下也会显示标记:账号在第一次读取期间才加载完、分支在同一主机上的 fork 中、刚刚创建拉取请求。
- 从程序坞或访达启动时,MyTwig 也能找到 Homebrew 安装的 GitHub CLI,从而识别 gh 的登录。
- 鼠标滚轮在差异视图的审查评论、区块按钮和悬停卡片上也能滚动。
v0.2.2
- Glass clarity. On macOS, Settings → Appearance → Glass clarity sets how much the sidebar, the details panel, the command palette and dialogs show what is under them, from frosted (0) to nearly clear (100). The default is 50. The panels change as you drag the slider.
- Help → Send Feedback… opens a new issue on GitHub in the form of the app's language, with the MyTwig version, the system, its version and the architecture filled in.
- One calm loading indicator replaces the spinners and "Loading…" texts everywhere, and the toolbar shows it while Git works (for example while pushing).
- Updated the app's UI framework, for smoother redrawing and sharp text at every zoom level.
- In Clone Repository, the search field of the repository list now takes clicks and typing. The same fix lets every field take the keyboard in Add Remote, Edit Remote, Create Pull Request and pull request review comments.
- A GitLab account (or another account added by hand) now shows its user name in Settings → Accounts and in the clone dialog's account list. Without a connection it shows the host instead of a blank.
- 玻璃通透度。 在 macOS 上,设置 → 外观 → 玻璃通透度 可以调节侧栏、详情面板、命令面板和对话框透出下方内容的程度,从磨砂(0)到接近透明(100),默认 50。拖动滑块时面板会实时变化。
- 帮助 → 发送反馈… 会在 GitHub 上用与应用语言一致的表单新建一个 issue,并自动填好 MyTwig 版本、操作系统、系统版本和架构。
- 所有的旋转图标和“正在载入…”文字统一换成一个安静的加载指示;Git 执行操作时(例如推送)工具栏也会显示它。
- 更新了应用的界面框架,重绘更流畅,任何缩放级别下文字都清晰。
- 克隆仓库 时,仓库列表的搜索框现在可以点击和输入。同样的修复也让“添加远程”“编辑远程”“创建拉取请求”和拉取请求审查评论中的每个输入框都能正常获得键盘焦点。
- GitLab 账号(以及其他手动添加的账号)现在会在 设置 → 账户 和克隆对话框的账号列表中显示用户名;无法连接时显示主机名,而不是空白。
v0.2.1
- Drag a branch onto a remote branch to open a pull request. Drop a local branch on a remote branch, in the graph or in the left panel: MyTwig pushes the local branch and opens the new pull request dialog with that remote branch as the base. Drop a remote branch to open a pull request from it as it is.
- Remote icons on branch labels. A remote branch's label shows its remote's icon in place of the
origin/prefix: the owner's avatar on the forge, the host's logo (GitHub, GitLab, Bitbucket, Gitea, Forgejo, Codeberg, SourceHut), or an image you choose. Right-click a remote in the left panel to pick its icon, or choose Settings → Graph → Remote branches → Name to show names again. - A dashed line joins the uncommitted changes (// WIP) to the commit checked out.
- A stash's label in the graph shows the stash icon.
- In a narrow graph column, the WIP node and stash nodes stay inside the column instead of covering the commit message.
- 把分支拖到远程分支上即可创建拉取请求。 在提交图或左侧面板中,把本地分支拖到远程分支上:MyTwig 会先推送本地分支,再打开新建拉取请求的对话框,并以该远程分支作为目标分支。拖动远程分支则直接以它创建拉取请求。
- 分支标签上显示远程图标。 远程分支的标签用远程的图标代替
origin/前缀:可以是代码托管平台上所有者的头像、平台的标志(GitHub、GitLab、Bitbucket、Gitea、Forgejo、Codeberg、SourceHut),或你自己选的图片。在左侧面板右键点按远程即可选择图标;在 设置 → 提交图 → 远程分支 中选择“名称”可恢复显示名称。 - 未提交的改动(// WIP)与当前检出的提交之间用虚线相连。
- 提交图中贮藏的标签显示贮藏图标。
- 提交图列较窄时,WIP 节点和贮藏节点会留在列内,不再遮住提交信息。
v0.2.0
- A commit graph of every branch, with branch and tag labels and author avatars. Columns can be resized, reordered and hidden. The graph stays fast on very large histories, such as Git's own 85,000 commits.
- Commit search finds commits by message, author, SHA or ref as you type. It also searches the whole history with operators:
content:,change:,message:,author:,path:,after:andbefore:. - File history, blame and the history of a range of lines. You can also browse every file of a commit as it was.
- Compare any two branches, tags or commits, and cherry-pick from the comparison.
- Also included: the reflog view, bisect with a banner over the graph, stashes shown in the graph, and markers on the scroll bar.
- Stage, unstage or discard whole files, hunks or selected lines. You can undo a discard.
- The commit box supports commit templates, summary-length hints, co-authors, sign-off, recent messages, amend, and commit-and-push.
- Split Commit and Split Changes into Commits: divide a commit, or your uncommitted changes, into several commits by file, hunk or line.
- Absorb: staged fixes go into the commits that last touched those lines.
- Partial and snapshot stashes, patches (save and apply), and ignoring files from their context menu with ready-made
.gitignoretemplates. - Drag a branch onto another to merge or rebase it. You can merge in several ways: fast-forward, merge commit, squash, or stop before committing.
- Conflict prediction warns you about conflicts with the upstream or the default branch before they happen.
- A conflict editor shows ours and theirs side by side above an editable result, with find and replace.
- Interactive rebase: drag to reorder, or pick, reword, squash, fix up and drop commits. You can also squash or move several picked commits by dragging them.
- Undo and redo for commits, merges, rebases, checkouts, branch changes and stashes. The Operation Timeline can restore the repository to how it was before a rebase, reset, pull, merge and more.
- Fetch, pull and push with progress and ahead/behind counts. MyTwig asks before risky pushes (to the default branch, files over 100 MB, or a diverged remote), and auto-fetches in the background.
- Also included: worktrees, submodules, Git LFS, Git Flow, and stacked branches (experimental).
- Pull requests and issues from GitHub (including Enterprise), GitLab, Gitea/Forgejo and Bitbucket Cloud, in the sidebar and on the graph's labels.
- Review GitHub pull requests in the app: comment on any line, reply to and resolve threads, approve or request changes, and merge.
- When cloning, MyTwig lists the repositories of every account you are signed in to. There are also options for large repositories (blobless, shallow, sparse) and a Repository Performance panel.
- Menu bar / tray companion: pull requests waiting on you, CI results, notifications, activity tiles, and the status of your recent repositories.
- Generate commit messages. Explain a commit or a set of changes, with Markdown and diagrams. Write pull request descriptions. Get conflict suggestions in the conflict editor. Have the model plan how to split changes into commits.
- Supported providers include Anthropic, OpenAI and OpenAI-compatible services (DeepSeek, Qwen, Kimi, OpenRouter, Microsoft Foundry, LiteLLM), Google Gemini, local Ollama and LM Studio, and the
claude,codex,copilotandgeminicommand-line tools. Prompts can be edited per user or per repository. - Requests go straight from your machine to the provider you chose.
- Tabs per repository, a repository manager with groups and folder scanning, a command palette, and keyboard shortcuts that you can change in Settings.
- Settings window with search. Light and dark themes, accent colors, interface and code fonts (several bundled), zoom, and avatar styles. On macOS, Liquid Glass styling that can be turned off.
- English and Simplified Chinese.
- Also included: a built-in terminal panel, Open in your editor or terminal, custom commands, profiles, "Commit as" identities from your accounts, commit signing (GPG, SSH, X.509), SSH key management, a Git command log, and a
mytwigcommand-line launcher (macOS and Linux). - Automatic, signed updates: MyTwig checks this repository every 30 minutes and verifies each update's Ed25519 signature before installing it. You can configure this in Settings → General → Updates.
- Install with one command:
curl -fsSL https://github.com/HeroSizy/mytwig-releases/releases/latest/download/install.sh | shon macOS and Linux,[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; irm https://github.com/HeroSizy/mytwig-releases/releases/latest/download/install.ps1 | iexin PowerShell on Windows. On macOS the script checks the download's Ed25519 signature, installs MyTwig in/Applications(or~/Applications) without the Gatekeeper prompt and opens it; on Windows it checks the installer's SHA-256 and runs it silently.--uninstallremoves MyTwig on macOS and Linux and keeps your settings. - A macOS build for each kind of Mac:
MyTwig 0.2.0 arm64.dmgfor Apple silicon andMyTwig 0.2.0 amd64.dmgfor Intel Macs, each about half the size a universal app would be. The install script picks the right one, and each build updates from its own architecture's updates. - Optional crash reports (off by default). The first launch asks once, and Settings → Privacy has the switch. Only real crashes are reported, never quitting or force quitting the app. A report holds only the versions of MyTwig, git and the OS, where in MyTwig's code it crashed, and a random install ID: never your code, file paths, branch names, remotes, names or emails. View Last Report… shows exactly what is sent. Settings → Privacy also lists every host MyTwig connects to.
- MyTwig does very little work while idle. It only rereads what changed on disk, fetches only when due, and refreshes hidden tabs when you open them.
- Faster drawing on wide histories: only the graph lanes in view are drawn.
- The layout adapts to narrow windows: author, SHA and date columns give way before the commit message does, then the side panels.
- Zooming scales the whole window, including the title bar row and the tabs.
- Text stays readable on any accent color, light or dark.
- Git started from the Dock or Finder now finds the same tools your terminal does, such as Homebrew's Git and git-lfs hooks.
- Forge tokens are stored in the system keychain on every platform: Keychain on macOS, Credential Manager on Windows, and the Secret Service on Linux.
- Diffs, blame and the conflict editor no longer leave lines out when the window is zoomed.
- With a narrow window, commit subjects no longer show up empty.
- A failing read beside the history, such as a stray submodule entry, no longer empties the branch, tag and stash lists.
- The app no longer crashes on start when a repository finishes loading before the window is ready.
- On GitHub Enterprise servers, pull requests now match their branches even when the remote URL uses different letter case. Repositories with more than 100 open pull requests show all of them.
- While the terminal panel has the keyboard, keys such as the arrows, Esc and Control shortcuts go to the shell, not to the graph.
- Tooltips follow the light or dark theme.
- Unsigned builds. The macOS app has an ad-hoc signature only. It isn't signed with an Apple Developer ID or notarized, so Gatekeeper blocks the first launch until you choose Open Anyway in System Settings → Privacy & Security. The Windows installer isn't code-signed, so SmartScreen may warn you about it.
- Terminal panel. Closing a repository's tab or quitting MyTwig ends the terminal panel's shell, and anything still running in it, without asking first.
- Windows builds are tested less thoroughly than macOS and Linux builds. The test suite is compiled for Windows but not run on it.
- Forge differences. Reviewing pull requests in the app works with GitHub only for now. Bitbucket shows pull requests but not issues, and the menu bar finds only the Bitbucket pull requests you created. GitLab can't filter by mention.
- Linux
.debinstalls don't update themselves. Install the newer package, or useinstall.sh, which does update itself. - Some features need a newer Git: staged-only stash needs 2.35, and conflict prediction and stacked rebases need 2.38. The minimum overall is Git 2.32.
- Stacked branches are experimental and are off by default (Settings → Experimental).
- 显示所有分支的提交图,带分支和标签标签、作者头像;列可以调整宽度、重新排序和隐藏。即使是像 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。
- 堆叠分支是实验性功能,默认关闭(设置 → 实验性)。