A Git-based Collaborative Knowledge Management System powered by Obsidian
- Create new git repository to host your eureka repository
git clone --bare git@github.com:TongHuaLabs/eureka.git
cd eureka.git
git lfs fetch --all
git push --mirror https://github.com/exampleuser/new-repository.git
git lfs push --all https://github.com/exampleuser/new-repository.git
cd .. && rm -rf eureka.git
git clone https://github.com/exampleuser/new-repository.git
git remote add template git@github.com:TongHuaLabs/eureka.git
git submodule init
git submodule update
— Populate submodule folders
git pull template main
- A Eureka Module is a Git Submodule containing Markdown files that support the Obsidian Wikilinks Syntax.
- Use modules instead of normal folders when you need access control to note files.
See https://github.com/TongHuaLabs/eureka-module
The command below creates a new folder in the current folder for storing the eureka module. As a convention, folder name should be in the following format: <two-digit-number> - <name>
(e.g. 10 - Personal
, 11 - Work
, etc.) — Please note that 00 - 09
and 99
are reserved for built-in modules.
git submodule add <eureka-module-repository> <folder-name>
Update all submodules to latest remote head
git submodule update --remote
or
cd submodule
git checkout main
git pull origin main
cd submodule
git checkout <branch-name>
git add .
git commit -m "message"
git push origin <branch-name>
cd ..
git add .
git commit -m "update submodule"
Note: To stage the submodule in Eureka — git add .
, you must commit the submodule first