Kiln 文档
下载

文档工具

Git 与 GitHub

在所选仓库中浏览提交历史、打开 diff,并压缩、拣选、删除提交或修改提交信息。

Kiln 把提交历史、diff 和拉取请求放在工作区检查器中,紧挨着终端。每个 Git 操作都只针对你选中的仓库,即使工作区横跨多个仓库,改写历史也很安全。

运行演示工作区的 Kiln
运行演示工作区的 Kiln

非活动工作区会暂停自动检查仓库状态。上次的结果仍会保留显示,返回该工作区后会恢复检查。

打开 Git 工具

右侧的工作区检查器包含更改和 GitHub。也可以从标题栏的工具菜单打开源代码管理和 GitHub,它们会在当前工作旁边打开,不会替换终端任务。

GitHub 功能依赖 GitHub CLI。使用前请先安装 gh 并登录。详见安装与更新。

选择仓库

工作区可以指向单个仓库,也可以指向包含多个仓库的父文件夹,例如 ~/dev/projects。在多仓库工作区中,请用 Git 和 GitHub 工具里的仓库选择器指定要操作的仓库。

选择仓库只改变 Git 操作的作用对象。任务的工作目录仍是工作区文件夹,代理也不会被移到你正在查看的仓库里。详见工作区与任务。

警告 在多仓库工作区中改写历史之前,请先确认选中的仓库。

浏览历史和 diff

打开更改并选择一个仓库,即可查看它的提交历史。列表打开后就能直接操作,没有单独的编辑模式。

操作 方法
选择提交 点击提交
选择范围 在多行上拖动,或按住 Shift 点击
打开提交的 diff 双击提交
显示提交操作 右键点击提交或选中的内容
浏览其他分支 使用分支筛选器
打开更大的视图 点击展开图标

用分支筛选器可以浏览其他分支,无需签出。展开图标会在更大的标签页中打开同一份历史,操作方式不变。在多仓库概览中,点击仓库旁的历史图标可直接打开这个大视图。

按 ⇧⌘L 打开历史。单仓库工作区会直接打开历史;有多个仓库时,会先打开仓库概览,让你选择一个。

注意 本页快捷键以 macOS 按键表示。在 Windows 上,应用快捷键中的 ⌘ 对应 Ctrl+Shift,因此 ⇧⌘ 对应 Ctrl+Shift+Alt。

修改提交信息

  1. 右键点击当前分支上的某个提交。
  2. 选择修改信息。
  3. 在确认对话框中编辑信息并应用。

如果该提交已经发布,远程历史也需要更新。继续之前,请先阅读对话框中的警告。

压缩提交

  1. 在提交行上拖动,或按住 Shift 点击,选中一个范围。
  2. 从选中内容的操作或右键菜单中选择压缩。
  3. 核对目标分支和提交,然后编辑合并后的提交信息。
  4. 如有共享历史警告,查看后确认。

压缩适用于当前分支上受支持的线性区段内的连续提交。

提示 按住 Option 拖动(Windows 上按住 Alt 拖动)保持原有行为:重新排列提交顺序,而不是选择范围。

从其他分支拣选

  1. 在历史筛选器中选择源分支。
  2. 选中需要的提交。
  3. 选择拣选。

Kiln 会把选中的更改作为新提交应用到当前分支。筛选器只改变你浏览的内容,绝不会签出源分支。

删除提交

选中一个或多个提交,然后选择删除提交。Kiln 通过改写历史,从当前分支中移除这些提交的更改。这和 revert 不同,revert 会新增一个提交。确认前请检查受影响的范围。

共享历史与恢复

压缩、删除和拣选都遵循同样的安全步骤。

  • 先检查。执行前,Kiln 会检查 worktree、分支、HEAD 和远程状态。
  • 备份引用。 Kiln 把原始的 HEAD 保存到一个备份引用中,备份信息可以在结果详情中找到。
  • 共享历史警告。受影响的提交属于远程默认分支,或者 Kiln 无法判断时,审阅界面会发出警告。
  • 受保护的推送。压缩或删除已发布的提交时,Kiln 会提供自动推送,使用带明确预期值的 --force-with-lease。如果远程在此期间有变化,推送会拒绝覆盖。
  • 服务器规则照常生效。服务器上的分支保护规则仍然有效,Kiln 不会绕过。

冲突

遇到冲突时操作会停下,并提供继续、跳过或中止选项。操作停止期间不会推送任何内容。

推送失败

如果本地改写已完成,但随后推送失败,Kiln 会分别显示两个结果:本地改写已完成,远程更新未完成。备份信息仍可在结果详情中找到。

拉取请求

在检查器中打开 GitHub,不离开工作区就能审阅所选仓库的拉取请求。与 Git 历史一样,多仓库工作区中请使用仓库选择器。