跳转到内容

暂存与提交

点按提交图最上面的 // WIP 行查看你的改动。详情面板会显示未暂存的文件、已暂存的文件和提交框。

  • 一个文件:点它的暂存按钮、双击它,或按 S。U 取消暂存。
  • 全部:⇧⌘S 全部暂存,⇧⌘U 全部取消暂存。
  • 一个代码块:打开文件的差异,对代码块使用暂存、取消暂存或丢弃。
  • 几行:在差异的行号栏里选中几行,只暂存、取消暂存或丢弃这几行。

用路径 / 树切换可以把文件显示为平铺列表或文件夹树。文件夹的菜单可以暂存、取消暂存、丢弃或储藏其下所有文件。

丢弃文件或行之后可以撤销,MyTwig 会先保存一份。

如果你设置了 commit.template,提交框会从它开始。

  • 摘要字数超过 50 变成琥珀色,超过 72 变成红色;摘要后缺少空行时会提示。
  • 合著者为历史中的任何人添加 Co-authored-by 尾注,签署添加 Signed-off-by,最近复用你最近写过的说明。
  • ✨ 按钮用你设置的 AI 服务根据已暂存的改动生成说明。见 AI 助手。
  • 修改上次提交会改写最近一次提交。

⌘Enter 提交,⇧⌘Enter 全部暂存并提交。提交按钮的选项里可以提交并推送一步完成。

如果钩子阻止了提交,你写的说明会保留,显示输出可以看到钩子打印的全部内容。

在设置 → 签名里设置 GPG、SSH 或 X.509 密钥,默认为提交和标签签名。提交框里的复选框可以单独决定这一次签不签。提交详情会显示签名是否通过验证。

储藏按钮(⌥⌘S)储藏你的改动。它的选项可以:

  • 加一段说明,
  • 保留已暂存的改动不动,
  • 只储藏已暂存的改动,
  • 创建快照:一个储藏,但改动仍留在原处。

单个文件可以从它的菜单里储藏。储藏在提交图里显示为虚线节点,位于创建它时所在的提交上方,左侧面板里也有。点按查看改动;右键点按可以应用、弹出、删除或从它创建分支;也可以把它拖到工作区上应用。

改了一处应该属于某个还没推送的提交的问题?暂存它,然后在“已暂存的文件”栏或命令面板里选吸收已暂存的改动…。MyTwig 会找到最后改动这些行的提交,把每处改动并进去。放不进去的改动保持暂存,对话框会在执行前告诉你是哪些、为什么。只会动当前分支上尚未推送的提交,撤销可以全部恢复。

在提交菜单里选拆分提交…打开拆分视图。把每一行、每个代码块或每个文件分给几个新提交之一,写好说明,点拆分提交。之后的提交会原样重放在上面。

命令面板里的将改动拆分为提交…对未提交的改动做同样的事。设置了 AI 服务时,用 AI 分组会先给出分组和说明,供你检查。

右键点按未跟踪的文件,可以忽略它本身、同扩展名的文件或它所在的文件夹,写进 .gitignore,或只对当前克隆写进 .git/info/exclude。同一个菜单还能添加 Go、Node、Python、Java、Rust、Swift、C 和 C++ 项目以及常见系统和编辑器的忽略模板。

从菜单或仓库 → 将更改存储为补丁…可以把一个提交、多个提交或你的改动保存为补丁。仓库 → 应用补丁…,或者把补丁拖到窗口上,会先显示它改动的文件以及能否干净应用,再执行。