文件、终端与 Git
本页介绍对话旁边三个内置工具的用法:预览文件、在真实终端里运行命令,以及审阅和提交改动。
打开工具面板
点击对话右上角的面板图标,打开右侧边栏。它的开始页提供三个工具:

每个工具在一个标签页里打开。标签栏末尾的 + 可以再开一个;分栏 把两个工具并排放;全屏 让面板占满整个窗口。页面保持打开时,每个会话都保留自己的标签页,刷新页面会重置它们。
如果你安装了 Excalidraw 插件,它的入口也会出现在这个开始页上。
文件
选择 工作区文件 浏览工作区。点击一个文件,会在新标签页里打开只读预览。代理在对话里写出的文件链接(工作区内的路径)也会打开同样的预览。

| 文件类型 | 预览方式 |
|---|---|
| 代码和文本 | 带语法高亮和行号。 |
| Markdown | 可以在渲染视图和源码之间切换。 |
| PNG、JPEG、GIF、WebP | 可以放大查看的图片。 |
| HTML 和 SVG | 以源码文本显示,绝不会执行。 |
| 其他二进制文件 | 提示无法预览。 |
限制:每个文件夹最多列出 1,000 项,文本最多 512 KB 或 10,000 行,图片最大 8 MB。预览只读取工作区内部,不会跟随指向工作区之外的符号链接。列表和预览不会自动更新,请用刷新按钮重新加载。
预览是只读的。要修改文件,请让 Pi 来改,或者用你自己的编辑器。
终端
选择 打开终端,会得到一个从工作区目录启动的交互式 Shell。

- Shell 是你的登录 Shell(
$SHELL,没有时回退到/bin/sh),以交互方式启动。Windows 上是%COMSPEC%,通常是cmd.exe。如果该程序不存在或不可执行,终端会报错,请修正SHELL(或COMSPEC)后重启服务。 - 输入、Ctrl+C、调整大小和全屏程序都和普通终端一样。每个终端保留 2,000 行回滚内容。
- 切换标签页或会话,或收起侧栏,进程都会继续运行。浏览器短暂断开后会重新连接,不会重放不确定的输入;浏览器离开超过五分钟,就会失去对该终端的掌控。
- 每个会话最多 8 个终端,整个服务最多 32 个。
- 关闭终端标签页或停止服务会结束它的进程。刷新页面不会恢复标签页,重启服务也不会恢复进程。
终端没有沙箱
命令以你的用户权限运行。工作区只是起始目录。粘贴命令之前,请先看清楚它做什么。
Git
选择 Git 改动。运行服务的机器上必须安装了 Git。

改动 列出未暂存、已暂存和未跟踪的文件(最多 1,000 个)。点击一个文件,就能在列表旁边看到它的差异,并用箭头在各个改动块之间跳转。超过 512 KB 或 10,000 行的差异、二进制文件、子模块和有冲突的文件可能只显示一条提示。
你可以做的事:
| 任务 | 操作 |
|---|---|
| 暂存或取消暂存 | 文件行末尾的 + 或 −。 |
| 提交 | 在底部输入提交说明后点 提交,或按 Ctrl/Cmd+Enter。只提交已暂存的文件。会遵循你在 Git 里配置的钩子和签名。 |
| 切换或新建本地分支 | 点击顶部的分支名,在列表里搜索,或选 新建分支。 |
| 浏览历史 | 历史 标签页每次加载 50 个提交,并显示提交详情,包括与合并父提交的比较。 |
这里不能推送、拉取、暂存(stash)或丢弃改动,这些请在终端标签页里做。
写操作会影响整个工作树里的一切
提交和切换分支需要工作区的根目录。切换分支还要求工作树是干净的,包括未跟踪的文件。共用这个工作树的所有会话都必须先空闲。视图已过期、存在锁文件、有未解决的冲突、已有 Git 操作在进行,或者目标分支已被另一个工作树检出,都会阻止写入。失败或结果不确定的写入不会自动重试。
远程分支标记和领先/落后数量来自 Git 本地已有的信息,pi-webapp 从不执行 fetch。
关闭某个工具
文件、终端和 Git 都可以在侧栏的 插件 里单独关闭。见包、技能与插件。关闭终端会结束服务上所有的终端。
下一页:用 Excalidraw 画图。