求.gitignore 文件如何书写

Git插件是obsidian中常用的版本控制工具,但git默认全库的扫描使得一些ob系统文件经常被 备份,导致文件流混乱。一般而言,配置.gitignore文件能帮助解决这类问题。
本帖请各位大佬分享一下自己的.gitignore文件,方便新人直接复制使用,如有可能,请简明说说各部分的作用。
我个人的.gitignore文件如下

/.obsidian/

该代码直接忽略了.obsidian文件夹,很简单粗暴,因为我也不太了解相关的配置。

我看到AuTa的帖子也有涉及相关内容,可能更加详细一些。

另外,.gitignore文件是放在库的根目录下哦 。更多关于本文件的信息,可见

在LillianWho补充相关信息后,我再具体一下问题:ob库中的哪些文件是不必或不能使用git跟踪?

不建议屏蔽掉.obsidian配置文件夹

1 个赞

主要我不太会配置,另外我是用坚果云来做同步,git主要是负责我的卡片备份,而不是ob配置的备份。

我是这么配置的, 我是有一个OB文件夹做git仓库, 其中BORBER是我的OB库

# 忽略工作空间 这玩意天天变
BORBER/.obsidian/workspace
# 回收站里的大概是没用的吧
BORBER/.trash/

只备份卡片到是也可以直接屏蔽配置文件夹

*.log    #以 .log 结尾的文件
!lib.a   #不过滤 lib.a
/vendor  #过滤根目录下 /vendor 文件夹下的内容
build/   #过滤任何目录下的 build/ 内的内容
/mtk/do.c  #过滤指定文件
build/*  #过滤 build 的内容,但是不过滤 build 这个父目录

gitignore 常用的就这几种吧。主要是通配符统一过滤。

obsidian 的话,因为要过滤的文件少,而且没什么规律,单独过滤那几个和库相关的文件就好了。

我的过滤用法主要是防止不同库数据冲突。

.gitignore文件

  • 作用:用于git,设置忽略文件

忽略规则

忽略文件

  1. 忽略当前路径下的a.md文件: a.md
  2. 忽略根目录下的e.md文件:/e.md
  3. 忽略当前路径下的Abox文件夹下的b.md文件:Abox/b.md
  4. 忽略当前路径下的Abox文件夹下多级目录下的的c.md文件:Abox/**/c.md
  5. 忽略所有文件夹下的d.md文件:**/d.md
  6. 忽略所有.png文件(某个后缀):*.png*

忽略文件夹

  1. 忽略当前路径下的Abox文件夹(整个文件夹都不上传):Abox/
  2. 忽略根目录下的Bbox文件夹:/Bbox

:thought_balloon: 万变不离规则,对照规则写就可以了。

1 个赞

很好的补充。或许我的提问还要再详细一些:ob库中的哪些文件可以不必或不能使用git跟踪。

感觉应该对照着下面这个帖子里对于配置文件夹.obsidian 内文件的解释来看。就能够做到需要忽略什么配置,就把什么文件/文件夹写入.gitignore了。

可以直接在.obsidian文件夹建一个.gitignore(实际上,每个文件夹都可以有单独.gitignore),写法如下

# 以.obsidian文件夹 下的.gitignore文件为例
workspace   #不同步工作区
plugins   #不同步插件(文件夹)

本人只在项目中用过,没实际在ob中试过,如有错误,欢迎指正