repoverlay
Apply configuration files to git repositories without committing them.
Files are symlinked (or copied with --copy) from overlay sources and automatically excluded from git tracking via .git/info/exclude.
Quick Reference
| Task | Command |
|---|---|
| Apply overlay | repoverlay apply <source> |
| Check status | repoverlay status |
| Remove overlay | repoverlay remove <name> |
| Remove all | repoverlay remove --all |
| Update from GitHub | repoverlay update |
| Restore after git clean | repoverlay restore |
| Create overlay | repoverlay create --include <path> --output <dir> |
| Switch overlays | repoverlay switch <source> |
Installation
Homebrew (macOS/Linux)
Shell installer (macOS/Linux)
|
PowerShell installer (Windows)
irm https://github.com/tylerbutler/repoverlay/releases/latest/download/repoverlay-installer.ps1 | iex
Cargo
From source
Usage
Apply an overlay
# From local directory
# From GitHub (uses default branch)
# From GitHub with specific branch/tag
# From a subdirectory within a repo
# Options
Remove overlays
Check status
Update GitHub overlays
Restore after git clean
Create overlays from existing repos
Switch overlays
Replace all existing overlays with a new one:
Manage cache
Overlay Configuration
Create a repoverlay.toml in your overlay directory to configure it:
[]
= "my-config"
= "Personal development configuration"
[]
# Rename files when applying
= ".envrc"
= ".vscode/settings.json"
Without a config file, all files in the overlay directory are symlinked with the same relative path.
License
MIT