洞察·流程
探索基于 Git 的笔记管理体系
我对版本管理有着天然的执念,在我看来,思考是一个不断迭代的过程,不同阶段对于某个话题的认识也会发生变化,反映到像我这样的文字工作者身上,则对应了一篇文章一则笔记的不同版本,此时,如果能够通过切换不同版本的内容,也能够快速了解自己的心路变化。
我曾在新一版的《iPad Pro 生产力指南》里详细介绍了如何将 Github 的版本管理机制纳入到写作会员通讯的流程里,这里涉及的应用包括:
其基本流程如下,首先,利用 Working Copy 这款应用,你既可以将 Github 上的仓库拉回到本地,也可以随时推送修改到远程仓库,目前 Working Copy 支持 Github、BiteBucket、Gitlab、Gitbook。
其次,利用两个 Drafts 的动作(Push 动作和 Fetch 动作),可以将 Drafts 里的文稿分享到 Working Copy,并 Push 到远程仓库,还可以直接从 Working Copy 的仓库里「取回」某个文稿编辑后再 Push。
整个过程无需离开 Drafts,真正做到了「写作--推送」的完整体验,当然,你还可以按照上文提及的,自行定制 Push 和 Ftech 的快捷键,还能大幅提升效率。
这也是我目前一直在践行的写作流程,而最近我在使用 Bear 的过程中,也萌生了如何将 Git 纳入笔记流程里。
熟悉我的朋友可能都知道,我从 Bear 一发布就开始使用这款笔记工具,在多个场合推荐过这个产品,在我看来,这款产品是天然的移动笔记产品,在颜值与功能层面都有非常不错的表现,不过这个产品也有一个巨大的缺陷:没有版本管理。
我在上文已经提及了版本管理的重要性,或许这个需求比较小众,但版本管理还能「根治手欠」,想象一个场景:打开任意一条 Bear 里的笔记,在认真仔细查看过往笔记的过程中,一不小心可能就调出了虚拟键盘,要么是增加了几个字,要么是删除了几个字......
我相信这个场景一定非常常见。此时唯一的解决方案就是不要再做任何操作,请仔细看 Bear 的一些虚拟功能键,如下图所示,这个不显眼的按键就是你的「后悔药」,而且只有一次机会。
我在 iPad mini 上经常因为手欠而误删了不少笔记,这一度让我相当崩溃,在 Bear 官方短期内不会推出版本控制功能的情况下,我也开始思考新的解决方案,那就是基于 Git 的机制,构建一个版本管理、云同步的笔记管理体系。
这个体系里包括以下两个应用:
- Working Copy
- iA Writer(以下简称为 iA)
Working Copy 不用过多介绍,iA 也是一个老牌的写作应用,我之前曾在一期「iPad Power User」介绍 iPad 模块化编辑器的时候推荐了这款应用,这里使用它的原因是因为它能够通过 iCloud 同步所有文档。
首先,配置 Working Copy,考虑到笔记可能涉及到一些隐私内容,我这一次并没有选择 Github,而是使用相对小众但安全系数更高的 AWS,目前 AWS 的 Git 托管机制完全免费,配置不算复杂,新建一个仓库,在 AWS 网页的控制台设置账号密码之后,直接在 Working Copy 里添加即可。
其次,在 Working Copy 里完成仓库 Clone 之后,点击右上角的分享按钮,选择「File Sync」,然后在 iCloud 里找到 iA 所在的文件夹。
第三,建立同步机制之后,我就可以直接在 iA 里记录笔记,由于基于 iCloud 同步,所以我可以在任意一台 iOS 或者 macOS 设备上记录思考,iA 自己也有相对简单的版本管理,如下图所示,但即便是这样简单的功能,也可以对付误删的问题。
这里可能有朋友会问,为什么不直接在 Working Copy 里编辑整理,非要同步到 iA 呢?如果你只使用一台 iOS 设备,那么当然可以直接通过 Working Copy 记录,但如果你像我一样有多台设备,而且时常需要在不同设备上记录,由于 Working Copy 没有设备内容的同步机制,你在切换设备记录时,需要先将云端的内容拉回到本地,然后编辑,最后在 Push 到云端,整个过程非常繁琐,而且容易造成笔记冲突,我并不推荐。
第四,所有内容更新也会体现在 Working Copy 本地仓库的变化中,你也可以随时将本地仓库 Push 到云端。点开任意一个文档,你都可以看到详细的提交信息以及文档的不同版本变化。
这里可能也会朋友感到疑惑,为什么不直接在 Drafts 里实现这个流程?Drafts 当然也可以,但有两个问题:其一是图片记录无法处理,你可能需要将每一张图片上传到图床,但在比如乘坐飞机这样没有网络的条件下,这个流程就无法完美实现。而利用 iA,你完全可以新建一个图片文件夹,将图片放在这里,利用 iA 的模块化功能快速整合到笔记。
其二,对于笔记这样经常需要整理、更新的内容,每一次采用「Fetch」和「Push」的动作多少有点大动干戈,就像我之前评价 Notion 那样,如果一个随手记录都那么有仪式感,会极大降低记录的积极性,而 iA 则可以毫无压力地记录。
综上,利用上述机制,实现了笔记内容的版本化管理,即便你在任何一台设备上误删了内容,再即便是你删除了云端的内容,利用版本机制都可以最大限度减少损失,而你的思考记录,也像水流一般,流淌在这一个个版本里,成为你的过去、现在,并塑造着未来。
|