Git

PATerminal 把 Git 放在你需要的地方:每个窗格都会显示其所在仓库的状态,Git 窗口则提供处理提交、历史和分支的完整客户端。所有操作都通过你电脑上的 git 执行。

基于 PATerminal v1.8.3 编写

窗格栏中的 Git

当窗格位于仓库中时,其顶部栏会显示当前分支、领先(↑)和落后(↓)的提交数,以及已更改的文件数。旁边还有:

分支名
打开分支列表:先列出本地分支,再列出仅存在于远程的分支。点击分支(或按 Enter)即可切换。输入一个不存在的名称并按 Enter,即可创建该分支并切换过去。已在其他 worktree 中检出的分支会被标记,无法选择。
Diff
打开该窗格所在文件夹的未提交更改,无需打开 Git 窗口。
Worktree
为该仓库创建 worktree。参见 Worktree。
Commit
打开 Git 窗口的文件状态,并聚焦到提交信息输入框。
获取 / 拉取 / 推送
有可拉取的内容时,“拉取”会高亮显示。如果没有设置上游分支,则从远程的默认分支(例如 origin/main)拉取;工具提示会说明来源。有未推送的提交时会出现“推送”。

Git 窗口

点击工具栏中的 Git 或按 Cmd/Ctrl+E,即可为当前聚焦终端所在的仓库打开 Git 窗口。工具栏徽标会显示已更改的文件数。按 Esc、点击 × 按钮或再次按 Cmd/Ctrl+E 即可关闭。拖动边缘可调整大小;双击手柄可恢复默认大小。

左侧可在 文件状态、历史、搜索、worktree、Issue 和 PR 之间切换,并列出 分支(按 / 分组为文件夹)、远程 和 标签。点击某个引用可在历史中显示其提交;双击分支即可检出。

查看并提交更改

  1. 打开 Git 窗口。它默认显示 文件状态,列出每个未提交的文件及其状态和行数变化。
  2. 点击文件可查看带行号的 diff。取消勾选不想纳入此次提交的文件。
  3. 在 提交信息 中填写说明。勾选 提交后 Push 可立即推送。
  4. 点击 Commit 或按 Cmd/Ctrl+Enter。

所有更改 会在更大的查看器中打开整个工作区的 diff。长行会在其中自动换行,你也可以拖动文件列表的边缘将其加宽。

浏览历史

历史 会绘制涵盖所有本地和远程分支及标签的提交图。选择一个提交即可在下方查看其文件和补丁。搜索 可按提交信息、作者或哈希值筛选。

右键点击提交 → 回退到该提交… 会将分支重置到该提交。之后的提交会离开当前历史,已跟踪文件的未提交更改也会被丢弃(未跟踪的文件会保留),因此会先请你确认。

拉取、推送、获取和 stash

Pull
选择要拉取到当前分支的远程分支,无需切换分支。
Push
推送当前分支,首次推送时会设置其上游分支。
Fetch
从所有远程获取更新。
Stash
暂存更改,包括未跟踪的文件(git stash push -u)。

Git 无法运行时

如果你的电脑阻止 git 运行,PATerminal 会说明原因并给出一行修复命令,你可以用 输入到终端 插入它(由你按 Enter),或点击 复制。它能识别以下情况:尚未同意 Xcode 许可协议、缺少命令行工具(Command Line Tools)、未安装 Git、文件夹归其他用户所有(“dubious ownership”),以及 Windows 的长路径限制。

仍未解决?

请先查看常见问题,或发邮件告诉我们你的操作系统、PATerminal 版本以及已尝试过的操作。每封邮件我们都会回复。