GIT — Git
GIT Git 仓库可以像文件夹一样浏览:已更改的文件、分支、历史。
打开仓库
栏中的 GIT 按钮会跳到收藏的项目;右键则给出列表:已知的仓库、“提交…”、“历史…”、各分支、“贮藏…”和“贮藏”、“标签…”、“远程仓库”。磁盘上尚不是仓库的文件夹,会在其中提供“在此克隆仓库…”。项目在进入时会自动加入,文件夹已消失的项目会被遗忘——除非缺失的是它所在的磁盘,因为拔掉的 U 盘不该让人忘掉任何东西。
文件夹的状态
每一行都有自己的颜色:有冲突、未跟踪、已修改、已暂存、已忽略。git 从两个维度描述一个文件——索引和工作副本——而一行无法同时显示两者:决定颜色的是还剩下什么要做。面包屑导航显示当前分支。
暂存与提交
“提交…”会打开更改视图:每行一个文件,已跟踪列说明 git 对它的了解。选择行的方式与其他地方一样——单击、Ctrl+单击、Shift+单击——在底部写下说明,然后点击提交,所选内容就会提交。没有选中任何内容,就什么也不会提交:按钮会告诉您。
提交栏中的未跟踪按钮可隐藏 git 未跟踪的内容:满是临时文件的文件夹不再淹没想要提交的那两个文件,Ctrl+A 也不会再把它们带上。取消勾选时,它会显示隐藏了多少个。

显示差异
“显示差异”会逐块打开 diff,在工作副本、索引(已暂存)和某个提交之间——之前与之后在其中都有标明。遇到二进制文件,它会直接告知,而不是给出一堆乱码。
可用的操作
- 提交并附上说明。
- 忽略:文件加入
.gitignore。 - 回滚:对话框会说明有多少新文件将从磁盘中删除,有多少将恢复为仓库中的状态。尚未提交的工作会丢失——这一点写得明明白白。
- 复制 › 剪贴板:更改中的一行就是磁盘上的一个文件,可以像文件一样复制——以便粘贴到别处,包括 Meneaufile 之外。没有剪切,也没有粘贴:这个列表由 git 重新组成,既不能从中移除一行,也不能向其中写入任何东西。
- 在其位置打开:文件不在它的那一行所在的地方——那一行属于列表,而文件位于工作副本,也就是编辑它的地方。这个菜单项就是带您去那里。
分支与历史
创建分支、切换到它、合并——菜单项带有分支的名称,并回应无需合并:已是最新或合并已中断:有文件存在冲突。“历史…”列出提交:短哈希、主题、作者、日期。左侧的边栏绘制分支图,每一行各占一条线,合并会向相邻的列画一条线。双击会打开提交的详情:完整的说明,以及它触及的文件。

合并请求树
GIT 按钮菜单中的“合并请求树…”会绘制远程仓库所指 GitLab 项目中所有打开的 MR。每个 MR 排在其起始分支之下,像目录一样每级缩进一格:层级表示批准的先后顺序,点击卡片即可在浏览器中打开 MR。
- 来源从提交中读取。从另一个 MR 派生出的 MR 会排在它下面,即使两者都以
main为目标:“在 !28 之后”说明应先批准哪一个,“目标 main”提醒它仍以main为目标——先合并它会把另一个 MR 的提交一并带入。 - 徽章显示 GitLab 给出的状态:草稿、冲突、需要变基、待批准、讨论未解决、流水线运行中、可合并。
- 每张卡片右上角的检出按钮会把工作副本切换到该 MR 的分支,便于在批准前试用或审阅。分支会先从服务器获取;进行中的工作会像任何分支切换一样提示储藏。已所在的分支以勾号标出。
- 个人访问令牌(
read_api权限)在 GitLab 的 User settings › Access › Personal access tokens › Generate token 中创建。Meneaufile 只询问一次,并把它保存在保险库中单独的条目里;保存账户密码的 NET 条目不会被当作令牌。

main。与远程仓库交换
“拉取”和“推送”,标签旁边显示涉及的提交数——零不会显示。对面尚不存在的分支,会连同其上游一起推送。远程仓库可在同一个菜单中声明和移除。当服务器要求验证身份时,Meneaufile 也会向您询问,而不是不声不响地卡住。
暂存起来
“贮藏…”把进行中的工作收起来而不提交,可附带说明;“贮藏”——已贮藏的工作——列出等待中的内容,可以从中恢复或丢弃。“标签…”同样用来添加和移除标签。
这一行是谁写的
文件菜单中的“逐行溯源”会把每一行归到它的提交和作者。面对一行令人意外的代码时,人们会问这个问题,而提交列表回答不了它。
冲突
有冲突的文件会以它的各个版本打开:共同版本、我方、对方,以及您正在构建的结果。“全部采用”会整体采纳某一侧,“解决”会保存——文件随即离开有冲突这一类别。
克隆
从某个文件夹:填写地址(https://… 或 git@host:org/repo.git)、要创建的文件夹名称,以及完整的历史或浅克隆——最近 N 个提交。
Bundle 文件
.bundle 文件是打包成单个文件的 Git 仓库:无需服务器,就能把项目装进 U 盘带走,或交给别人。双击会显示其中包含的内容——它的分支、它的标签;在此克隆…则在它旁边把它变成一个普通仓库,无需网络。在仓库中,GIT 菜单里的创建 bundle…会把整个仓库打包到另一个视图的文件夹中。
如果缺少 git
Meneaufile 调用系统中的 git。如果它不存在或不在 PATH 中,Meneaufile 会说明,而不是无缘无故地失败。
Meneaufile 手册,简体中文版。