合作开发指南
合作开发指南
本项目在 GitHub 开源,为了更好地进行合作开发,计划制定相关教程和规范。以下是当前开发原则、内容规范及开发流程。规范会根据需求不断调整,欢迎提出改进建议!
开发原则
- 简洁易懂:确保代码和文档简洁明了,方便快速理解重点。
- 保证正确性:对自己的修改负责,可以多次修改,直到合适为止。
- 奥卡姆剃刀原则:如无必要,勿增实体。尽量基于 Obsidian 原生功能进行开发,避免过度依赖复杂插件。
- 优先记录:若时间紧迫,可将内容先归类到对应一级文件夹,后续再整理完善。
开发方式
方式一:加入仓库成为合作者
适合频繁提交的开发者,直接成为 GitHub 仓库合作者:
- 提交申请,获得仓库写权限。
- 在本地或 Codespaces 中修改文件,随时同步到主分支。
方式二:通过 Pull Request 提交更改
适合偶尔修正或补充内容的开发者:
- Fork 仓库到自己的 GitHub。
- 在 Fork 的仓库中修改或添加内容。
- 提交 Pull Request,等待合并。
内容规范
知识文件的层级、MOC、frontmatter、标题、双链、署名和改写边界统一见 内容规范。本页不复制模板或字段规则;若两页文字出现差异,以《内容规范》为准并修正引用页。
准备条件
确保拥有 GitHub 账号。
安装 Git 命令行工具。
配置 Obsidian Git 插件。
如果在国内,请解决网络问题。
从 GitHub 克隆项目:
git clone https://github.com/your-repo.git
开发步骤
(以下这些命令行操作都可以使用GUI来鼠标操作,如:vscode, Obsidian的Git插件操作面板)
1. 拉取(Pull)
从远程仓库拉取最新的修改:
git pull origin main2. 提交(Commit)
将本地的修改提交到版本管理:
git add .
git commit -m "描述修改内容"3. 推送(Push)
将本地修改推送到远程仓库:
git push origin main4. 冲突处理
冲突发生时,需要手动解决。处理步骤:
查看冲突内容:
git status修改冲突的文件,选择正确的合并方式。
提交修复后的内容:
git add <文件名> git commit -m "解决冲突" git push origin main
子模块(Submodule)使用
添加子模块
- 进入父项目目录:
cd "E:\Note"- 添加子模块:
git submodule add https://github.com/PKM-er/Pkmer-Math.git Math- 初始化子模块:
git submodule init
git submodule update --init- 提交更改:
git add .
git commit -m "添加 Math 子模块"
git push更新子模块
当 Math 仓库更新时,可使用以下命令同步:
git submodule update --remote.gitignore 配置
本仓库 .gitignore 已配置为排除所有个人 Obsidian 配置:
# 个人 Obsidian 配置一律不上传
.obsidian/- 克隆仓库后使用你自己本地的 Obsidian 配置,不会与仓库冲突
- 如果需要排除其他本地文件,请使用
.git/info/exclude(仅本地生效,不提交) - 不要修改仓库的
.gitignore,该文件受 CODEOWNERS 保护
通过上述内容,开发者可以选择合适的参与方式(合作者或 Pull Request),并遵循开发规范和步骤高效协作。欢迎对本项目提出改进建议!
链接到当前文件 1