用手机查看电脑上的提交历史和 diff

一套实用的工作流:在手机上查看最近的提交、打开 diff 并回答“改了什么?”,无需远程桌面。

基于版本
CLI
0.2.17
预览 ref
a2c45c8

一个在“离开工位时”反复出现的问题:

改了什么?

不是“完美的架构是什么?”

也不是“下一步该重构什么?”

只是:改了什么、在哪里改的、能不能信任。

这会在以下情况出现:

  • 同事找你说出现了回归
  • 一个你几天没看的分支 CI 失败了
  • 你正在发布中途
  • 你在审阅自己之前的改动

如果唯一的回答方式是“远程桌面连到电脑上”,这件事通常就会被推迟。

本指南介绍一套让你能在手机上“审阅最近提交”的工作流。

常见做法及其权衡

  • SSH:适合快速执行命令,但不适合在手机上直观地审阅 diff。
  • 远程桌面:可行,但笨重又分散注意力。
  • Git 托管应用:如果改动已经在 PR 里,很合适。 但有时你想审阅电脑上的仓库,不管它托管在哪里(或者还没推送)。

可行的工作流

这套工作流在拥有仓库的电脑之上使用远程界面。

Happier 是支持这种做法的选项之一。

每个 Happier 会话都绑定在你电脑上的一个仓库文件夹。在手机上,会话的 Git 标签页让你可以:

  • 浏览提交历史
  • 打开某个提交并审阅它的 diff

查看历史和 diff 不需要开启实验性的 Git 写操作。

权衡:你的电脑仍需在线。

如果你第一次接触 Happier(它是什么,在哪里获取)

如果你之前没见过 Happier:它是一款开源配套应用(移动端/网页/桌面),让你把工作流留在信任的电脑上,再用手机管理。

开始设置:

分步操作:用手机审阅提交历史

1) 在仓库文件夹中打开会话

打开一个在该仓库中运行的会话,或者以仓库文件夹为工作目录启动一个会话。

2) 打开 Git 标签页的历史

在会话中:

  1. 打开 Git 标签页。
  2. 打开提交历史。

你会看到:

  • 最近提交(Recent commits)
  • 一个 加载更多提交(Load more commits)操作

3) 打开一个提交并审阅 diff

一个简单的手机审阅循环:

  1. 打开最新的提交
  2. 快速浏览提交信息(意图)
  3. 先打开风险较高的文件
  4. 决定:“没问题”还是“需要跟进”

如果你需要知道“为什么会这样?”,可以从历史跳转到:

  • 当前工作区的 更改的文件(Changed files)

4) 需要上下文时使用“文件”

历史告诉你改了什么。

有时你还需要“这个文件是做什么的?”这样的上下文。

这时就打开:

  • 文件(Files)

搜索、打开文件、阅读,然后返回。

5) 做出跟进决定

大多数审阅工作流失败,是因为没有以行动收尾。

在手机上可以做的有用行动:

  • 留下审阅评论
  • 要求用一段话说明某个改动的理由
  • 把一个小修复加入队列
  • 或者判断“这没问题”,然后继续

终端(可选)

当内嵌终端可用时,会话可以显示 终端(Terminal)标签页。根据功能矩阵(英文),它是实验性功能。

用它执行一次性命令(git show、git grep 等),但默认工作流仍以界面为主。

常见问题

为什么用历史,而不只看更改的文件?

更改的文件回答的是:“这个工作区现在有哪些改动?”

历史回答的是:“一段时间内发生了什么?”

两者都有用,它们回答的是不同的问题。

能往回看多远?

使用 加载更多提交。

合并提交会显示 diff 吗?

在原生 Git 中,除非你指定特定的合并 diff 格式,合并提交通常不会显示 diff。

如果你在审阅合并,要格外明确你想查看的内容(first-parent 视图还是组合 diff)。(来源:https://git-scm.com/docs/git-log)

不推送到 GitHub 也能审阅提交历史吗?

能。

这正是基于会话的工作流的核心好处之一:你可以审阅电脑上的内容,而不只是已经推送的内容。

常见的大问题是什么?

主机电脑离线。

如果你无法让存放仓库的机器稳定在线,任何手机工作流都不会让人觉得稳定。

怎么在手机上回答“这两个时间点之间改了什么”?

两种实用的方法:

  1. 在 历史 中打开两个提交,逐个审阅它们的 diff。
  2. 如果你需要真正的“比较 A…B”的 diff,用 终端 执行一次 git diff <a>..<b>。

把终端当作应急出口:有用,但不是默认方式。

怎么找到“引入这个 bug 的提交”?

在手机上,通常较快的路径是:

  • 从你怀疑的文件开始
  • 浏览最近修改过它的提交
  • 缩小到一个小范围

如果需要真正的 bisect,那通常是键盘前的任务。

不在 GitHub 上的仓库也能审阅提交历史吗?

能。

会话作用于你电脑上的一个文件夹。

只要这个文件夹是 Git 仓库,无论托管在 GitHub、GitLab、自托管的远程,还是哪里都没托管,你都能审阅历史。

历史是只读的,还是可以在那里修改?

历史是一个审阅界面。

如果你决定要改点什么:

  • 打开 文件 进行编辑
  • 然后用 Git 标签页审阅并提交(提交是实验性的 Git 写操作,默认关闭)

为什么提交信息在手机上会被截断?

因为界面要放得下。

如果提交信息被截断,把它当作一个信号:

  • 点进提交详情
  • 更多依赖 diff 而不是信息

怎么审阅大型改动集而不丢失头绪?

一个适合手机的技巧:

  • 先只审阅排在前面的 1 到 3 个“风险文件”(认证、配置、迁移、锁文件)
  • 对想要重新处理的地方留下审阅评论
  • 做出决定后就停下

如果你想在手机上完美地审阅 200 个文件,会耗费时间,还是会漏掉东西。

可以用这套工作流审阅 AI 代理改了什么吗?

可以,这是很合适的用法之一。

如果一个长会话昨天做了改动,在决定下一步之前,历史 能帮你回答“实际落地了什么?”

什么时候应该改用仓库托管应用?

如果改动已经以 PR 的形式存在,托管应用可能很合适。

Git 标签页的历史适合以下情况:

  • 改动还没推送
  • 你在审阅自己的本地提交
  • 无论仓库托管在哪里,你都想用同一套工作流

相关指南

githistorydiffsmobileworkflows
最后更新: 2026-10-26