DEV WORKFLOW

手机上 Coding 并提交 Git

2026-01-19 · 开发者/团队 · 小改动与应急修复

从 Web IDE 到 Codespaces/SSH,再到 Termux/Working Copy 的落地路径

“手机上 coding”更像一种薄客户端开发:手机负责输入/审阅;构建、测试、依赖与大部分算力放在远端(Codespaces/开发机),或直接由 GitHub 的 Web 编辑器用 API 完成提交。下面把常见模式、优缺点与最小可用的上手步骤讲清楚。

Git Mobile Codespaces SSH iOS Android

TL;DR

核心模式:手机只负责输入/审阅;构建/测试/依赖放在远端(Codespaces/SSH 开发机),或交给 GitHub Web 编辑器用 API 直接提交。你要做的是选一条路径,把认证与会话稳定性处理好。

最快(小改动)

Browser · github.dev

  • 在 GitHub 仓库页面按 . 打开 github.dev(VS Code Web)
  • 改几行 → Commit 到分支 → 开 PR
  • 适合:文档、配置、小补丁

最稳(像真电脑)

Remote Dev · SSH/Codespaces

  • 手机用 Blink/Termux SSH 进开发机,配 tmux 保持会话
  • 远端跑测试/格式化,再 git push
  • 适合:需要环境、需要跑命令的改动

离线(更折腾)

Local · Termux/Working Copy

  • Android:Termux 装 git + 编辑器,直接提交
  • iOS:Working Copy 克隆/提交,配合外部编辑器
  • 适合:无网/弱网、应急改动

经验法则:手机做“提交与小变更”没问题;需要大范围重构/复杂冲突时,切回电脑或让远端环境完成更多工作(含 CI)。

这其实是一种薄客户端开发

很多人提到“OpenAI 的人能在手机上 coding”,通常不是把完整 IDE + 编译链塞进手机,而是把手机当成输入/审阅界面,把“状态”与“算力”放在远端:

手机负责 远端/平台负责
编辑 输入、快速定位、审阅 diff (可选)Web IDE / 远端编辑器与插件
环境 尽量不装复杂依赖 依赖、容器、语言版本、工具链
运行/测试 少量命令或不跑 构建、测试、格式化、lint、CI
Git 操作 提交/推送/开 PR(或只发起) GitHub/GitLab(API 或远端 git)
密钥与权限 最小权限、短期凭证 密钥托管、SSO、审计与策略

所以“手机 coding”最关键的工程问题:(1)认证(SSH key / SSO / token);(2)会话稳定(tmux/mosh);(3)把测试与 CI 固化,让你在小屏幕上也能放心合并。

Best Minds(专家视角 · paraphrase)

Junio C Hamano · Git Maintainer

Git 是快照系统,设备无关

  • 论点:能跑 git 的地方就能可靠提交;难点不在“手机”,而在“历史与协作规则”。
  • 做法:永远走分支/PR;把提交做小;让 CI 告诉你有没有破坏主干。
  • 手机策略:优先做“微小、可回滚”的提交;避免在手机上处理大冲突/大规模 rebase。
Limits

手机输入成本高、上下文切换难;当你需要大量浏览代码、复杂冲突或跑重工具链时,“可用”不等于“高效”。

Kelsey Hightower · Cloud-Native Pragmatist

把开发环境当作服务

  • 论点:不要在手机上“造环境”;让环境在云端/内网里可复用、可丢弃、可审计。
  • 做法:Codespaces/开发机 + 容器/脚本固化依赖;手机只是 SSH/浏览器入口。
  • 安全:最小权限、短期凭证;敏感密钥留在远端,手机只拿访问权。
Limits

远程化会引入网络依赖与成本;要真正稳定,需要把“连接(VPN/Tailscale)+ 会话(tmux/mosh)+ 环境(devcontainer)”一起做好。

Andrej Karpathy · AI/LLM Engineer

把“打字”变成“指令与审阅”

“Don't think of LLMs as entities but as simulators.” — paraphrase context
  • 论点:手机更适合做“提出变更意图 + 审阅 diff”,让工具生成补丁、让 CI 证明正确。
  • 做法:在远端跑一条命令生成/应用 patch;你在手机上只看 diff、调参、合并。
  • 手机策略:把任务拆小(1 个 bug/1 个文件/1 个 PR),减少屏幕与键盘的摩擦成本。
Limits

LLM/自动化能降输入成本,但不能替代责任边界:关键改动仍需人类审阅、测试与权限控制,尤其在生产仓库。

三种落地方式(对比)

方式 优点 代价/风险 最适合
GitHub Web 编辑器 / github.dev 零安装、上手最快;直接开 PR 受限于浏览器/插件;不适合复杂环境与重测试 文档、配置、小修复
Codespaces / 远程 Dev Container 环境可复用;像真电脑;能跑测试/格式化 需要配置与成本;依赖网络质量 日常开发、需要跑命令的改动
SSH 进开发机(自建/公司内网) 最可控;工具链自由;可接入公司安全策略 运维成本;需要把连接与权限做规范 团队/公司环境、重依赖工程
本地手机(Android Termux / iOS Working Copy) 可离线/弱网;随时提交 工具链受限;密钥管理更敏感;重环境很折腾 应急、小 patch、离线场景

最小可用 Playbook

Playbook A · 5 分钟

github.dev(最快)

  1. 打开 GitHub 仓库(手机浏览器或 GitHub App)。
  2. . 进入 github.dev(VS Code Web)。
  3. 新建分支(或直接在 UI 里 commit 到新分支)。
  4. 修改 → Commit → Open PR → 让 CI 跑完再合并。

关键词:github.dev / vscode.dev / PR

Playbook B · 30 分钟

Codespaces(通用默认)

  1. 仓库开启 Codespaces(或使用组织预设模板)。
  2. 把环境写进 .devcontainer/,确保“一键复现”。
  3. 手机浏览器打开 Codespace:编辑 + 终端 + 运行测试。
  4. git commit / git push → 开 PR。

关键点:环境可复现比“手机能不能跑”更重要。

Playbook C · 1 小时

SSH 开发机 + tmux(最稳)

  1. 准备一台长期开发机(云 VM / 家用 mini PC / 公司内网)。
  2. 配置 SSH key(建议有口令)与最小权限;必要时用 VPN/Tailscale。
  3. 远端安装 git、编辑器、语言工具链;克隆仓库。
  4. 手机用 Blink/Termux:ssh 连接 → tmux 保持会话。
  5. 在远端跑测试 → git push → PR。

弱网建议:tmux +(可选)mosh。

Playbook D · Offline

本地手机(应急)

  • Android:Termux 安装 git/openssh + 你习惯的编辑器;用 SSH key clone。
  • iOS:Working Copy clone(SSH);用内置或外部编辑器改;在 Working Copy 里 commit/push。
  • 策略:只做小改动;尽量让 CI 在云端验证。

安全与工程卫生(手机场景必做)

认证与权限

  • 优先 SSH key(带口令)或组织 SSO;避免长期 PAT 常驻手机。
  • 能用 PR 就别直接 push 到主干;把“写权限”压到最小。
  • 敏感 secret 留在远端(CI/开发机);手机只拿访问路径。

提交策略

  • 一个 PR 只做一件事;尽量小 diff、可回滚。
  • 把格式化/测试做成脚本:./fmt./testmake check
  • 手机上只做“能一眼看懂”的改动;复杂冲突留给大屏。

如果你想把体验做到“像 OpenAI 那种随时能改”:关键不是手机有多强,而是远端环境 + CI + 权限策略把风险收敛掉。

One Next Action

选一个你最可能长期使用的方案(推荐 Codespaces 或 SSH 开发机),然后做一次完整闭环手机打开 → 修改一处 → 跑测试/格式化 → commit/push → PR → CI 绿灯 → 合并。跑通一次后再谈“随时随地 coding”。

把手机当成“终端 + 审阅器”,把开发环境放在云端。

Practical rule