FoldRender 自带一个基于 JGit 的设备端 git 客户端,所以 git clone 是一个按钮,而不是一次终端操作。在干净设备上验证过的是它的前一半:匿名克隆一个公开的 HTTPS 仓库,然后浏览、阅读其中的每一个文件。拉取、切换分支、工作区状态、暂存提交和推送也都在这个版本里 —— 但没有人把它们完整跑通过,所以本页只说它们随版本发布了,不说它们能用,也不会写出你照着做不下去的步骤。
从 Google Play 安装 FoldRender,点顶栏里的分支图标,把 https://github.com/user/repo.git 这样的 HTTPS 地址粘贴到 筛选,或输入 owner/repo 里,然后点 获取代码。公开仓库不需要账号,也不需要令牌。克隆会放进应用私有存储,并作为工作区打开。
ssh:// 和 git@ 地址克隆不了;这些托管平台要的凭据本来就是个人访问令牌,它加密后存在 Android 硬件密钥库的保护下。github.com/login/device 输入一个短码。FoldRender 在 Play 商店上的名字是 FoldRender: Git Repo Reader,包名 dev.foldrender.app,免费,面向全球发行。照常安装即可 —— 不会弹出要你打开「允许来自此来源的应用」的提示,更新也会自动送达。应用声明了 minSdk 30,所以需要 Android 11 或更新的版本;如果设备低于这个版本,Play 会直接告诉你,而不是让你装上一个跑不起来的版本。
顶栏里的分支图标在应用的任何地方都能打开 Git 面板 —— 不需要先打开一个文档。还没有克隆时,面板的副标题显示「尚未选择仓库」。所有和 git 有关的东西都在这一个界面上,而不是藏在一串对话框后面。
这个输入框的标签是 Clone an HTTPS repository URL,占位文字是 https://github.com/you/repo.git。HTTPS 是唯一的传输方式:FoldRender 里的 git 有意只支持 HTTPS,因为支持 SSH 就得带上一个密钥代理,而这些托管平台真正想要的凭据是个人访问令牌。ssh:// 或 git@ 开头的地址用不了。
点 Clone。公开仓库不需要账号,也不需要令牌;这条路在干净设备上验证过。面板忙的时候,标题栏下方会有一条线性进度条。克隆会放进应用私有存储,在应用文件目录里的 repos 目录下,应用会把它选为当前仓库。
FoldRender 会自动把刚克隆的仓库作为工作区打开。大仓库(大约 4,600 个文件这个量级)第一次完整列出要很久,只显示一个转圈,没有任何形式的进度提示。它最终会完成。小一些的仓库很快就列完。
左栏的文件标签页就是文件树,每一行都有类型标记,按 .gitignore 隐藏的文件可以用显示被忽略的文件开关显示出来。搜索会在整个工作区里 grep,按字面或正则,结果以 path:line 行的形式陆续出现,点一下就跳过去;它跳过二进制文件和大约 1.5 MB 以上的文件,到 500 处匹配就停,免得一个太宽的查询把整栏刷满。快捷收集你打开过的文件,在文件树里长按可以固定一个收藏。Markdown、源代码、PDF 和 Jupyter 笔记本是渲染在设备上验证过的四种格式。
每个克隆在面板顶部都有一个小按钮,点一下就设为当前仓库。下面是 Pull 和浏览文件,然后是一排分支按钮,再下面是「工作区干净」或者一个「更改」列表。面板标题栏显示分支名、领先数 ↑、落后数 ↓,以及「· 干净」或「· N 处改动」。分支按钮列出的是本地分支,所以只存在于远程的分支,在普通克隆之后不会出现在那里。
Credentials & identity 会打开一个表单,里面有主机(预填 github.com)、用户名和个人访问令牌,另外还有一组单独的提交身份:姓名和邮箱。令牌用一个存在 Android 硬件密钥库里的 AES-GCM 密钥加密,永远不会再读回输入框,所以截图或旁边偷看的人都拿不到。提交身份写在应用私有存储里的一个 .gitconfig 中,因为 Android 没有可写的 home 目录给 git 用。克隆输入框上方还有一个使用 GitHub 登录按钮 —— 走的是 GitHub 的 OAuth 设备码流程,你在 github.com/login/device 输入一个短码。公开发布的版本里已经编译进了 OAuth client id,所以这个按钮点下去就是登录,而不是要你先填一个 client id。
克隆、拉取、分支、状态、历史和凭据都在 Git 面板上,因为它要完成的那件事,应该一次坐下来就能做完。最近的提交列在更改下面,每条显示短 id 和作者。
Android 不给 JGit 可写的 home 目录,也没有系统级 git 配置;放着不管的话,JGit 在有些 ROM 上能加载配置,有些上不能。FoldRender 把 user、system 和 jgit 三个配置作用域都指向应用私有文件,这也让应用有了一个真正的 .gitconfig 来保存你的提交身份。
浏览克隆下来的仓库、在里面搜索、渲染其中的 Markdown、源代码、PDF 和 Jupyter 笔记本,是验证过的那条路。在手机上有这个是真有用的,也是这个版本目前交付的东西。
如实列出的清单 —— 包括已随版本发布但没有验证过的行为 —— 让你在安装前就能判断,这个版本能不能做你要做的那件事。
大家真正会用的四个应用,以及把它们区分开的那一条:仓库最后在不在手机上,到了手机上有没有东西把它渲染出来。
| 工具 | 下载价格 | 从哪里获取 | 克隆到设备上 | 渲染 PDF / Jupyter 笔记本 / Markdown | 编辑器或 shell |
|---|---|---|---|---|---|
| FoldRender | US$0 | Google Play,全球 | 能 —— HTTPS,公开仓库可匿名 | 能 —— 原生 Compose 渲染器 | 没有,有意为之:它是阅读器,不是 IDE |
| GitHub Mobile | US$0 | Google Play 和 App Store | 不能 —— 它读的是托管在 GitHub 上的仓库 | 只有 GitHub 自己渲染的内容,需联网 | 可在 PR 里编辑文件 |
| Termux + git | US$0 | F-Droid 或 GitHub | 能 —— 真正的 git 命令行 | 不能 —— 只有终端文本 | 有,完整的 shell,任何命令行编辑器都能用 |
| MGit 1.7.0 (2023) | US$0 | 只在 F-Droid | 能 —— 克隆、拉取、推送,HTTPS 或 SSH 密钥 | 不能 | 没有 —— 它自己的页面写明不带文本编辑器 |
价格指的是下载价格。GitHub Mobile 的功能取决于你的 GitHub 套餐;Termux 和 MGit 都是自由软件。MGit 的版本和日期来自它在 F-Droid 上的页面。
这里的每个数字都是从正式发布的版本里读出来的,或者来自本页底部列出的一手资料 —— 没有为了好看往上凑整。
minSdk 30,也就是 2020 年随 Android 11 发布的 API 级别;编译和目标版本都是 API 36。上面这些数字背后的一手文档,任何一条你都可以自己核对,不必听我们说。
git-clone 参考文档 —— 获取代码执行的操作,由定义它的项目自己来说明minSdk 定为最低要求的那个版本git clone 做了什么,以及它为什么复制每一个版本而不是一份快照本页最后核对于 2026-08-27。