改一个小网站,想试点东西又怕弄坏,最容易想到的办法就是先复制一份。次数多了,“最终版”“最终版2”“这次真的最终版”挤在同一个目录里,反倒找不回昨天还正常的那份。
GitHub Desktop 可以换一种记法:不再靠文件夹名字猜版本,而是先看看本次改了什么,再给这次修改留一句说明。以后回头找,能看到修改记录,也能查看当时的差异。
第一次用,不急着把真正的网站加进去。下面只拿一个 README 文件做练习,走完修改、查看差异、提交和回看记录。配图采用 GitHub 官方文档中的界面示例,不是本站安装实测;图里的仓库名、文字和你的练习不必相同。
先建一个练习仓库
从 GitHub Desktop 官网取得适合自己系统的安装包。按本次核对的官方说明,Windows 需要 10 或更高版本的 64 位系统,macOS 需要 12 或更高;Linux 没有官方支持版本。不要把社区移植版的安装步骤和这里混着用。
安装并打开软件,按首次启动提示完成必要设置。先核对 Git 提交作者的姓名和邮箱;它们是修改记录的一部分,和是否登录 GitHub 不是一回事。已有 Git 配置时不要随手覆盖。只想为练习设置演示身份,可以在该仓库的设置中单独指定。
欢迎页中,选择 Create a New Repository on your Hard Drive...。这次要在本机新建一个仓库,不是克隆网上的项目,也不是把已有目录随便拖进去。

名字填 desktop-practice,Local path 选一个专门用来练习的父目录。软件会在这个位置里面再建一个同名文件夹;看清最后的完整路径,别把名称当成一个不影响文件位置的标签。
勾选 Initialize this repository with a README,然后创建。这样练习目录里就有 README.md,不需要再准备别的文件。忽略规则和许可证不确定时可以先不选,这个练习不涉及给真实项目决定开源授权。
创建后,在文件管理器里打开刚才的实际目录,确认 README 确实在里面。暂时别碰正在运行的网站目录,也不要把整个桌面建成仓库。
先认两个地方:Changes 和 History
Changes 看还没提交的修改,History 看已有的提交记录。后面的练习主要在这两个地方来回切换,不用先把菜单全部学完。

图里的 0 changed files 表示当前没有待提交的文件变化,不是“仓库里没有文件”。顶部如果显示 Publish repository,说明还有一个把本地仓库发布到 GitHub 的入口;这一步先不用点。
改 README,再看软件有没有找到变化
用文本编辑器打开练习目录里的 README.md,在原有内容下面加两行:
## 今天的练习
学会查看差异,再保存一次修改记录。先保存文件,再回到 GitHub Desktop 的 Changes。点左侧的 README.md,看右侧显示的内容是不是刚才添加的文字。这里最值得养成的习惯不是赶快点提交,而是先确认软件记录的确实是你想改的东西。

如果 Changes 里没出现变化,先检查编辑器有没有保存、打开的是不是刚才那个目录,再确认顶部 Current Repository 指向 desktop-practice。这几处比反复刷新、重新建仓库更值得先看。
现在你完成的是保存文件,还没有给这次修改建立一条提交记录。文件已经写在磁盘上,不会因为尚未提交就自动丢失;但以后要按一条说明回看这次改动,还差下一步。
给这次修改写一句说明
保留 README 前的勾选,在左下方 Summary 填“补充第一次提交练习”。不需要写得正式,能让下周的自己一眼想起改过什么就够了。练习只有这个文件,Description 可以先留空。

再看一遍选中的文件和右侧差异,没问题就点 Commit to …。注意它后面的分支名,不用为了让按钮和图里一样,特意改分支。
若软件提示作者信息未配置、没有选中文件或其他错误,先处理它实际给出的原因。按钮点下去不等于一定成功,接下来要用记录核对。
到 History 找到刚才那条记录
切到 History,找到自己填写的那句说明,点开它,再选择 README 查看这次提交的差异。核对说明、文件和改动是否对应,而不是只看到一个新条目就关掉软件。

确认记录后,可以回到编辑器,把“今天的练习”改成“第一次提交练习”,保存。再看 Changes:刚才那次提交仍在 History,新改的一行则出现在待提交区。到这里,保存和提交的区别就能从两个页面里看出来了。
这次练习不需要用 Discard Changes。它会丢弃尚未提交的改动,不是关闭预览的返回键。想回看旧内容,先在 History 浏览和比较,不要为了试按钮拿正式文件做实验。
暂时不上传,也可以先把记录做好
上面的提交保存在本地。以后要把它同步到 GitHub,才涉及登录、选择远程仓库、公开或私有,以及推送。不要因为软件显示 Publish repository 或 Push origin,就以为本地提交还没保存,必须再点一下。
准备上传真实项目时,要检查整个提交历史里有没有密码、令牌和私人资料,而不只是眼前这一版。提交作者邮箱也可能随记录公开。若还没分清这些,先保留本地练习就可以,没必要为跟着教程而公开仓库。
GitHub Desktop 主仓库采用 MIT 许可,但 GitHub 的托管服务另有自身条件,本文引用的官方文档图片也有自己的许可。它不会因为一次推送就自动部署你的 Typecho 网站。
这个工具适合拿来管理小网站、脚本或持续修改的文本。如果只是偶尔存一个文档,普通备份可能已经够用;想保留每次修改的原因和差异,再用它会更有感觉。先把这个 README 练习做完整,熟悉后再给自己的项目留记录。同时保留独立备份:只有一块磁盘上的 Git 历史,挡不住整块磁盘损坏。
https://github.com/desktop/desktop