如果你的Obsidian文档在Linux与Windows间来回切换,可能会涉及到文件的保存换行符问题,但这样的话就容易导致一个问题,那就是内容无差异,Obsidian却提示unexplained changes。我们首先分析原因。
Obsidian编辑器,默认以LF
为结尾保存文件,这也是Linux系统的默认换行符。当我们在Windows上使用git clone
某个Obsidian编辑的仓库时,可以知道,这个仓库目前所有的文件的换行符都是LF
,而Windows的换行符默认是CRLF
,所以,所以,在git clone 或者checkout的时候,就还得保证clone下来的所有文件,继续以LF
为换行符,如果clone下来的文件以CRLF
为换行符,这样Obsidian保存的时候,就会出现换行符的差异,此时就会提示unchanged lines
,而这不是我们想要的。
# 确保clone下来的文件继续是LF结尾,而不会在clone到本地时,将仓库里的LF结尾自动转换成CRLF
git -c core.autocrlf=false clone https://github.com/user/repo.git
# 继续修改repo的.git/config
cd repo
git config core.autocrlf false
Windows系统配置
[core]
autocrlf = false
Mac/Linux系统配置
[core]
autocrlf = input