Take notes in Markdown. Save them automatically to Git. Back them up like a developer.
Introduction
Every developer needs a place to store notes — ideas, docs, bug fixes, commands, bookmarks, and those elusive "read later" links. But what if your note-taking app worked like GitHub?
Joplin is a privacy-first, open-source note-taking app built for power users. And with one plugin, you can turn it into a Git-backed knowledge base — syncing your notes as Markdown files with version control.
In this article, we’ll show you how to set up Joplin, install the Git sync plugin, and connect it to GitHub — step by step.
Step 1: Install Joplin
Joplin is available for Windows, macOS, and Linux.
🔗 Download:
- Visit: https://joplinapp.org
- Choose your platform and install the desktop app.
Joplin also has mobile apps and a browser web clipper — but we’ll focus on the desktop app here.
Step 2: Install the "Save Note as Markdown and Commit to Git" Plugin
This plugin automatically:
- Saves each note as a Markdown file
- Commits it to a Git repo with a timestamped message
🛠 How to Install:
- Open Joplin.
- Go to
Tools > Options > Plugins
(on Windows/Linux) orJoplin > Settings > Plugins
(on macOS). - Click “Search” and type:
Save Note as Markdown and Commit to Git
- Click Install next to the plugin.
- Restart Joplin when prompted.
🔗 Plugin Page: https://joplinapp.org/plugins/plugin/io.sagaii.export2git/
Step 3: Create a GitHub Repository
Before we push your notes, let’s create a GitHub repository.
🖥️ How to Create a GitHub Repo:
- Log in to your GitHub account.
- Click the "+" icon in the top right corner, and select "New repository".
- Give your repository a name, like
joplin-notes
. - Set it to Public or Private as per your preference.
- Do not initialize the repository with a README or .gitignore file, as you will be pushing your local notes.
- Click Create repository.
Step 4: Configure the Plugin – Set Up Local Git Repo
Now that you have your GitHub repository, let’s configure Joplin to sync with it.
🧭 Where to Find the Plugin Settings
On Windows/Linux:
Tools > Options > Save Note as Markdown and Commit to Git
On macOS:
Joplin > Settings > Save Note as Markdown and Commit to Git
📁 Set the Local GitRepos Folder Path
In the plugin settings, set:
Local GitRepos Folder Path
To something like:
- macOS/Linux:
/Users/yourname/JoplinGitNotes
- Windows:
C:\Users\yourname\Documents\JoplinGitNotes
If the folder doesn’t exist yet, create it manually.
Optional Recommended Settings
Setting | Recommended Value |
---|---|
Auto Commit on Save | ✅ Enabled |
Commit Message Template | Update: {{noteTitle}} at {{date}} |
Author Name / Email | Your Git identity |
Step 5: Push Your Local Git Repo to GitHub
Once you've set up your local folder and initialized Git, let’s connect it to GitHub.
🖥️ Connect Your Local Repo to GitHub
- Open your terminal or Git Bash.
- Navigate to your local Joplin Git folder:
cd /path/to/JoplinGitNotes
- Initialize the Git repository:
git init
- Add the remote GitHub repository:
git remote add origin https://github.com/your-username/joplin-notes.git
- Add all files to Git:
git add .
- Commit the files:
git commit -m "Initial commit"
- Push to GitHub:
git push -u origin master
Now, your local Git repo is connected to GitHub, and your notes are backed up!
Step 6: Export and Commit Notes to GitHub with One Click
Once your folder is set and Git is initialized, pushing notes is simple.
🚀 Exporting a Note
- Select the note in Joplin.
- Click the “Export as Markdown and Commit to Git” button on the toolbar.
- It may look like a file with a Git icon.
- The plugin:
- Saves the note as a
.md
file - Commits it using your configured message
- Saves the note as a
🟡 Manually Push to GitHub
If this is your first time, initialize and push:
cd /path/to/JoplinGitNotes
git push
(Optional) Step 7: Automate Git Push
You can push changes on a schedule.
On macOS/Linux:
Use crontab -e
to add:
0 * * * * cd /path/to/JoplinGitNotes && git push
On Windows:
Use Task Scheduler or a .bat
script:
cd C:\path\to\JoplinGitNotes
git push
Conclusion
With Joplin and this plugin, you now have:
- A local-first, Markdown-based note system
- Git version control for tracking every update
- Optional cloud sync with GitHub for backup and access anywhere
You’ve just built your own version-controlled second brain — and it runs on free, open tools.
Happy documenting! 🧠 💾
Made with ❤️ by syedyshiraZ
Top comments (0)