- CLI
- 0.2.17
- 预览 ref
- a2c45c8
目标不是“在手机上开发”。
目标要窄得多:
- 修改一个配置值
- 调整 README 里的一行
- 更新一个路径
- 切换一个功能开关
……在手机上完成,而仓库一直留在电脑上。
因为真正的痛点不是打字。
而是你一离开工位,访问文件就变成一堆半能用的选项。
本指南介绍一套工作流,让在手机上做“一处精确修改”变得安心。
权衡(让你有意识地做选择)
人们说“在 iPhone 上远程编辑文件”时,通常指的是以下之一:
- SSH + 终端编辑器(vim/nano)
- 远程桌面(屏幕共享)
- 把远程文件夹挂载到 iOS“文件”应用
- 把仓库克隆到手机上(移动端 Git 客户端)
这些都能用。
问题是:哪一种对你来说最不容易出错。
常见做法及其权衡
- 用手机 SSH:技术上没问题,但不是舒服的编辑方式。你最终会在一个很小的终端里干正事。
- 远程桌面:笨重又麻烦,在移动网络下尤其如此。它是应急工具,不是日常工作流。
- 把文件夹挂载到 iOS“文件”:很诱人,但很脆弱。 很容易陷入奇怪的状态,被隐藏文件、权限或工具假设坑到。
- 手机本地的 Git 客户端:如果你想要以 iPad 为主的工作流,这确实很好。 在 iOS 上 Working Copy 是典型例子。
但这些选项都没有给出这里真正需要的组合:
电脑始终是事实来源,同时有一个清爽的手机界面来处理文件、diff 和提交。
可行的工作流
这套工作流在拥有仓库的电脑之上使用一个远程界面。
Happier 是支持这种做法的选项之一。
每个 Happier 会话都绑定在你某台电脑上的一个文件夹,会话可以直接操作这个文件夹。在手机上,会话会在移动端驾驶舱中打开,它有这些标签页:
- 文件(Files):浏览、搜索、上传、下载、预览
- 一个用于小而精确修改的内嵌编辑器(在 设置(Settings)→ 功能(Features)→ 内嵌文件编辑器(Embedded file editor) 下,默认开启)
- Git:已更改的文件、diff、提交、拉取/推送、历史
权衡:你的电脑仍需在线。
如果你第一次接触 Happier(它是什么,在哪里获取)
如果你之前没见过 Happier:它是一款开源配套应用(移动端/网页/桌面),让你把工作流留在信任的电脑上,再用手机管理。
开始设置:
- 如何在手机上使用 Happier
- GitHub: https://github.com/happier-dev/happier
- 安装/下载: https://github.com/happier-dev/happier#how-it-works
- Discord(社区与支持): https://discord.gg/W6Pb8KuHfg
分步操作:用手机编辑电脑上的文件
1) 在仓库文件夹中打开一个会话
打开一个在该仓库中运行的现有会话,或者新建一个会话,并选择电脑上的仓库文件夹作为工作目录。
从这里开始,你操作的是电脑上的文件夹,而不是手机上的副本。即使会话处于非活动状态,只要电脑在线,Happier 仍能加载它的文件。
2) 把“文件”标签页当作“我只需要那个文件”的入口
在会话中打开 文件(Files)标签页。
对手机编辑来说,有三个功能很重要:
- 搜索(不用在目录树里翻来翻去)
- 下载/上传(需要搬运东西时)
- 一个足够完成“一处精确修改”的编辑器
如果你看到一个标签为下面内容的搜索栏:
- 搜索文件...(Search files...)
……就大胆地用它。
在手机上,导航是成本。搜索把成本省回来。
3) 做尽可能小的修改
打开你要改的文件。
做能推动进展的最小修改。
然后点:
- 保存(Save)
如果发现自己越陷越深,就点:
- 取消(Cancel)
好的手机工作流不是“什么都做”。
而是“做那 10% 防止卡住的事”。
4) 查看你改了什么(别相信自己的记忆)
保存后,切换到:
- Git 标签页及其中已更改的文件
然后打开该文件的 diff。
如果仓库很大,你可能会看到:
- 检测到较大的 diff(Large diff detected)
这是在提醒你把修改保持得小一点。
5) 决定:保留 / 撤销 / 评论 / 提交
每次在手机上修改后,都明确做个决定:
- 保留:改得对。
- 撤销:改错了地方。
- 留下审阅评论:应由代理(或之后的你)做精确修改。
- 提交:这是一个独立完整的改进。
提交、拉取和推送都是 Git 写操作。根据 Git 文档(英文),它们位于 设置(Settings)→ 功能(Features)→ 版本控制操作(Source control operations) 下,属于实验性功能,默认关闭。从 0.2.12 开始,审阅时可以精确选择要提交的文件,所以手机上的修改不必和代理的其他改动一起提交。
提交时你会看到:
- 提交信息(Commit message)
- 提交(Commit)
尽量让提交清晰、如实。
6) 推送(只在有把握时)
在 Git 标签页中,你可以使用:
- 拉取(Pull)
- 推送(Push)
一条实用规则:
- 随时拉取
- 快速看过 diff 后再推送
如果你看到:
- Operation requires a clean working tree.(需要干净的工作区)
……照做。
这不是建议。
实际例子(哪些值得在手机上改)
这些是“适合在手机上做的修改”:
- 更新功能开关或配置常量
- 修复失效链接
- 调整版本锁定
- 修改一个环境变量名
- 添加一个能推进后续工作的 TODO
这些是“不适合在手机上做的修改”:
- 大型重构
- 数据库迁移
- 跨多个文件的批量重命名
不是因为做不到。
而是离开常用工具时,太容易在细节上出错。
终端(可选)
有时你确实需要终端。
当内嵌终端可用时,会话还会显示 终端(Terminal)标签页。根据功能矩阵(英文),它是实验性功能,需要已连接的守护进程和可访问的机器。
把它当作最后手段:
- 文件、diff 和提交用界面完成
- 只有需要界面没有提供的命令时才用终端
如果什么都用终端,你就又回到了“用手机 SSH”的问题。
常见问题
我直接用移动端 Git 客户端不就行了?
如果你想把仓库放在手机上,是的。
像 Working Copy 这样的移动端 Git 客户端很好用。
本指南针对的是“仓库在我的电脑上,我只想远程修改和审阅”。
这能取代 IDE 吗?
不能。
它取代的是那个慌张的时刻:
“我现在就要改一处,但我不在工位。”
那是另一件事。