3.3 KiB
Syncthing + Git Hybrid Workflow
- Hybrid Architecture: Syncthing + Git
- Syncthing Setup
- Git Setup
- Daily Workflow
- Recommendations
- Command Reference
- Setup Checklist
Hybrid Architecture: Syncthing + Git
Overview
Best of both worlds:
- Syncthing: Real-time file sync (phone ↔ host)
- Git: Version control and conflict resolution
Folder Structure**
``` ~/mind/ ├── .git/ # Git repo (Syncthing ignores this) ├── .gitignore # Excludes: .git/, temp files ├── .stfolder/ # Syncthing marker ├── 0_inbox/ # Your captures (synced) ├── 1_thinking/ # Notes (synced) └── … ```
Syncthing Setup
Syncthing Configuration:
- Folder: ~/mind
- Devices: Phone (yours) + Host (mine)
- Ignore patterns: .git/, .stfolder/, temp files
- Versioning: Staggered (for safety)
Phone → Host Flow:
- You org-capture on phone
- Syncthing detects change
- Auto-syncs to host within seconds
- File appears in my ~/mind/
Host → Phone Flow:
- I process files
- Syncthing syncs back
- You see updates on phone
Git Setup
Git Remotes: ```bash
```
Workflow:
Your commits (laptop): ```bash cd ~/mind git add . git commit -m "Your changes"
```
My commits (host): ```bash cd ~/mind git add . git commit -m "Processed inbox items"
```
Conflict Resolution:
- Syncthing: Syncs file changes
- Git: Handles merge conflicts
- If conflict: Git shows <<<<
==>>>>, resolve manually
Daily Workflow
Morning (You):
- Check ~/mind/0_inbox/ on phone
- Orgzly for quick reading
- Org-capture new items
- Auto-syncs to host
During Day (Me):
- Syncthing delivers new captures
- Org-gtd process: clarify → organize
- Move to appropriate PARA folder
- Git commit my changes
- Syncthing syncs to you
Evening (You):
- Phone shows updated files
- Review what I processed
- Add new captures for tomorrow
Recommendations
Syncthing Settings:
- Rescan interval: 10 seconds (fast sync)
- Ignore permissions: Yes (Qubes/Debian differences)
- Versioning: Staggered, 30 days (safety net)
Git Settings:
- Frequent small commits (better than large merges)
- Use .gitignore for Syncthing temp files
- Set user.name and user.email on both devices
Conflict Prevention:
- Don't edit same file simultaneously
- I work mainly on processing (1_thinking/, etc.)
- You work mainly on capturing (0_inbox/)
- Natural separation reduces conflicts
Command Reference
Check sync status: Syncthing web UI: http://localhost:8384
Force sync: Syncthing → Folders → mind → Override Changes
Git status: cd ~/mind && git status
Pull latest: cd ~/mind && git pull
Push (if we add remote): cd ~/mind && git push
Setup Checklist
On Host (me): TODO Verify Syncthing installed and running TODO Configure ~/mind folder share TODO Add .gitignore entries TODO Get device ID
On Phone (you): TODO Syncthing already installed ✓ TODO Get device ID TODO Share with host TODO Test sync
Both: TODO Git config user.name/email TODO Test org-capture → sync → process flow TODO Verify conflict handling
—
Next Steps:
- I start Syncthing daemon on host
- Get my device ID for you
- You add my device to your Syncthing
- Test first sync
- Test git workflow