FoldRender / 指南 / 在手机上克隆私有仓库
FoldRender 指南

在手机上克隆私有仓库

公开仓库可以匿名克隆 —— 这条路验证过。私有仓库需要凭据,FoldRender 提供两种:GitHub 的 OAuth 设备码流程,或者存在 Android 硬件密钥库里的个人访问令牌。这里两种都是根据已发布的实现来描述的;哪一种都没有在干净设备上完整跑通过,本页在要紧的地方就直接说出来,而不是放在页面底部的小字里。

在 Google Play 上获取免费 看看 FoldRender 能做什么

分步操作

  1. 从 Google Play 安装

    FoldRender 在 Play 商店上的名字是 FoldRender: Git Repo Reader,包名 dev.foldrender.app,免费,面向全球发行。照常安装即可 —— 不会弹出要你打开「允许来自此来源的应用」的提示,更新也会自动送达。应用声明了 minSdk 30,所以需要 Android 11 或更新的版本;如果设备低于这个版本,Play 会直接告诉你,而不是让你装上一个跑不起来的版本。

  2. 打开 Git 面板

    点顶栏里的分支图标。登录在面板最上方的 GitHub 标题下,位于克隆输入框上面,因为这是克隆之前、而不是之后要做的事。

  3. 方式 A —— 使用 GitHub 登录

    点使用 GitHub 登录。应用会申请一个设备码,显示一个短码和一个打开 GitHub 按钮,按钮会带你到 github.com/login/device;你在那里输入短码、授权,令牌就会自己到达 —— 面板会轮询,不用你再回来操作。令牌到了以后,面板显示「已登录为 your-login」,旁边有一个退出登录按钮。只提供设备码流程,是因为它是 GitHub 唯一不需要 client secret 就能完成的 OAuth 流程,而一个分发到设备上的应用保管不了 client secret。Google Play 上的版本已经编译进了 OAuth client id,所以你看到的是这个按钮,而不是让你粘贴 client id 的输入框。

  4. 方式 B —— 个人访问令牌

    点克隆按钮旁边的 Credentials & identity。表单要填主机(预填 github.com)、用户名和个人访问令牌,点保存令牌后会提示「已为 <host> 保存」。GitLab、Bitbucket、自建的 Forgejo 或其他任何不是 GitHub 的托管平台都走这条路 —— 设备码流程是 GitHub 专用的,令牌表单不是。

  5. 顺手设置提交身份

    同一个表单在提交身份下面还有姓名和邮箱两栏。它们写在应用私有存储里的一个 .gitconfig 中,因为 Android 的 user.home 是 /,不可写 —— 没有一个真正的 home 目录,JGit 加载配置的行为在不同 ROM 上不一样。只有以后要走提交那条路时,设置身份才有意义,而那条路没有验证过。

  6. 克隆私有仓库

    把 HTTPS 地址粘贴到 筛选,或输入 owner/repo,点 获取代码。凭据按主机查找,所以存好的同一个令牌可以用于这个主机上的所有仓库。只支持 HTTPS —— SSH 远程地址用不了,因为带上一个密钥代理的代价,应用有意不去承担。

  7. 读它

    从这里开始,就和克隆公开仓库完全一样:仓库作为工作区打开,文件树开始列出(大仓库会慢,只显示一个没有进度提示的转圈),每个文件都在右边那一栏渲染。私有仓库在阅读方式上没有任何不同。

FoldRender 是怎么做的

令牌在界面上只能写入

保存的令牌用一个存在 Android 硬件密钥库里的 AES-GCM 密钥加密,永远不会再读回任何输入框。填写它的界面会自己清空,应用里也没有任何界面显示已保存的令牌 —— 所以截图或旁边偷看的人什么都拿不到。

为什么用设备码流程,而不是浏览器跳转

GitHub 的文档写明,浏览器流程的 access token 端点必须带 client_secret,而 code_verifier 只是它的补充,不是替代。不带 secret 的应用会收到 incorrect_client_credentials —— 而那时用户已经在浏览器里授权过了。一个注定在最后一步失败的按钮比没有按钮更糟,所以界面上哪里都不提供浏览器登录。

client id 不是机密

GitHub OAuth 应用拿到的 client id 本来就是公开的;它编译在版本里,不需要向你要。如果某个版本没有带上它,就会退回到一个一次性的输入框让你粘贴 client id;两者都没有的话,面板会直接说这个版本没有配置 GitHub 登录。

FoldRender 做不到什么?

如实列出的清单 —— 包括已随版本发布但没有验证过的行为 —— 让你在安装前就能判断,这个版本能不能做你要做的那件事。

在 Android 上读仓库还有哪些办法?FoldRender 和它们比怎么样?

大家真正会用的四个应用,以及把它们区分开的那一条:仓库最后在不在手机上,到了手机上有没有东西把它渲染出来。

工具下载价格从哪里获取克隆到设备上渲染 PDF / Jupyter 笔记本 / Markdown编辑器或 shell
FoldRenderUS$0Google Play,全球能 —— HTTPS,公开仓库可匿名能 —— 原生 Compose 渲染器没有,有意为之:它是阅读器,不是 IDE
GitHub MobileUS$0Google Play 和 App Store不能 —— 它读的是托管在 GitHub 上的仓库只有 GitHub 自己渲染的内容,需联网可在 PR 里编辑文件
Termux + gitUS$0F-Droid 或 GitHub能 —— 真正的 git 命令行不能 —— 只有终端文本有,完整的 shell,任何命令行编辑器都能用
MGit 1.7.0 (2023)US$0只在 F-Droid能 —— 克隆、拉取、推送,HTTPS 或 SSH 密钥不能没有 —— 它自己的页面写明不带文本编辑器

价格指的是下载价格。GitHub Mobile 的功能取决于你的 GitHub 套餐;Termux 和 MGit 都是自由软件。MGit 的版本和日期来自它在 F-Droid 上的页面。

FoldRender 的这些数字从哪来?

这里的每个数字都是从正式发布的版本里读出来的,或者来自本页底部列出的一手资料 —— 没有为了好看往上凑整。

常见问题

能在 Android 上克隆私有仓库吗?
应用为此提供了两种凭据方式 —— GitHub OAuth 设备码流程,和存在硬件密钥库里的个人访问令牌 —— 两者都在已发布的版本里。哪一种都没有在干净设备上完整跑通验证过;验证过的是匿名克隆公开仓库。
GitHub 登录是怎么工作的?
OAuth 设备码流程。应用显示一个短码,你在 github.com/login/device 输入并授权,面板轮询期间令牌会自己到达。到了以后,面板显示你登录的账号。
为什么没有普通的浏览器登录?
因为在一个不带 client secret 的应用里,它没法工作。GitHub 要求浏览器流程在换取令牌时带上 client_secret,所以跳转会在你已经授权之后以 incorrect_client_credentials 失败 —— 这是最糟的时机。与其提供一个坏掉的功能,不如不提供。
能用 GitLab、Bitbucket 或自建的托管平台吗?
可以,通过个人访问令牌表单。它要填主机、用户名和令牌,所以不限于 GitHub。设备码流程才是 GitHub 专用的。
我粘贴进去的令牌会怎么处理?
它用 Android 硬件密钥库里的 AES-GCM 密钥加密,永远不会再读回界面。保存后输入框会清空,也没有任何界面显示已保存的令牌。
登录以后就能推送了吗?
登录只是保存了一个凭据。推送本身随版本发布,但没有验证过;而且应用里没法编辑文件,也就没有东西可推送。请把认证当作把私有仓库放到设备上来读的那一步。
FoldRender 多少钱?
US$0。在 Google Play 上免费,面向全球发行,版本里没有计费库,没有订阅,也没有付费档。
FoldRender 支持哪些 Android 版本?
Android 11 及以上。应用声明的 minSdk 是 30,也就是 2020 年随 Android 11 发布的 API 级别;编译和目标版本都是 API 36。它在 2025 年发布的 Galaxy Z Fold 7 上开发和测试。
FoldRender 能离线用吗?
能,只要仓库已经在设备上。克隆和拉取需要联网;从克隆下来的仓库或选中的文件夹里阅读、搜索,以及渲染 Markdown、源代码、PDF 和 Jupyter 笔记本都不需要。登录 GitHub 是可选的,只和私有仓库有关。
它和 GitHub Mobile、Termux、MGit 有什么不同?
GitHub Mobile 读的是托管在 GitHub 上的仓库,不会克隆到手机上。Termux 和 MGit 都能克隆,但克隆之后怎么渲染就交给你了 —— Termux 给你一个 shell,MGit 连文本编辑器都没有。FoldRender 通过 HTTPS 克隆,并在内屏上把克隆下来的内容渲染出来。

这些说法去哪里核对?

上面这些数字背后的一手文档,任何一条你都可以自己核对,不必听我们说。

本页最后核对于 2026-08-27。

更多 FoldRender 指南