继之前体验 Obsidian ,如今我在使用 Logseq 作为我的日常信息记录:
- 有想法就放在 Journal 当中,并通过大纲的方式,让我的想法逐渐变得丰满。
- 使用 TAG 来区分不同的内容分类(比如编程、生活之类的)
在使用 Logseq 的时候,必然会涉及到需要做数据同步的问题 —— 没有同步万一跪了怎么办?
好在是 Logseq 提供了 Git 版本控制的能力,你只需要在设置当中开启 Git Commit 的能力,就可以让其自动使用 Git 来添加版本,从而实现将你的变更通过 Git 本身的能力来记录。
当完成了 Logseq 的 Git 初始化后,自然而然的,我们便会想 —— 我能不能将其上传到 GitHub 上来完成存储?即使不分发协作,也可以很好的用来存储。答案当然是可以的,配置版本控制之后,Logseq 的仓库就是一个标准的 Git 仓库,你直接推送即可。
当发现可以推送之后,也就不担心数据的版本化问题了。那随之而来的便是 —— 我如何做数据同步?如何不让我手动上传数据到 Github 当中?
你可以借助 Git 的 Hooks 机制来完成:Github 上的开发者 CharlesChiuGit 有一个项目 Logseq Git Sync 101,其中介绍了如何实现自动的 Git 同步。
你只需将其仓库中的 Pre-commit 和 Post Commit 两个文件放置在 Logseq 目录下的 .git/hooks 目录中,即可借助 Git 自身的 Hook 能力,实现在 Commit 前主动拉取配置,避免出现数据冲突的问题,并在 Commit 之后自动推送结果,实现数据的及时上 Github。
具体操作也不复杂,只需要在 Logseq 根目录的 .git/hooks
目录下创建 pre-commit
和post-commit
文件即可;随后,将 Logseq-Git-Sync-101 中的文件内容复制到这两个文件中;最后执行 chmod a+x post-commit pre-commit
来实现给其添加可执行权限,即可实现在 Logseq 当中执行操作提前推送一次更新 & 拉取一次内容。
有了 Git Sync 101 ,我几乎可以不用担心同步数据了 —— 毕竟做研发的人,谁电脑上还能没有个 Git 了?
博主你好,为什么我使用这样的方法不能自动push呢,只能制动commit。
还有就是这段命令应该在哪运行呢chmod a+x post-commit pre-commit
如果 commit 成功的话,可以自己先手动执行一次 git push, 确保没有出现分支冲突的问题,导致无法 push。
至于命令的话,应该在项目目录中的
.git/hooks
中运行