Skip to content

Releases: txssu/overgit

Release list

v0.1.0

Choose a tag to compare

@txssu txssu released this 24 Aug 19:20
v0.1.0
fa17b87

First release.

overgit puts a second git repository, the overlay, on top of one you don't control, the base, in the same working directory. Files you override, add or delete are committed and pushed to the overlay; the base's git status stays empty, and a git add -A && git commit in it captures nothing of yours.

Install

Standalone binaries below, for Linux and macOS on x64 and arm64. They need nothing but a system git ≥ 2.30. SHA256SUMS covers all four.

curl -fsSL https://github.com/txssu/overgit/releases/download/v0.1.0/overgit-linux-x64 -o overgit
install -m 755 overgit ~/.local/bin/

The macOS binaries are not notarized. curl does not set the quarantine flag; a browser download does, so xattr -d com.apple.quarantine overgit if Gatekeeper objects.

From npm, with Bun ≥ 1.1 at run time: bun install -g overgit or npm install -g overgit.

What is in it

  • add, rm, restore: override a base-tracked file, add one the base has never seen, or delete one for yourself only. commit, push, pull, log, diff and git pass through to the overlay repository.
  • detach / attach: unmount the overlay to a byte-exact base checkout, run any git command, mount it again. hooks install re-attaches after every pull, checkout and rewrite.
  • sync: a true three-way merge of upstream changes into your overrides, with the blob you forked from as the merge base. Conflicts block nothing else; resolve --keep / --take-upstream settle them.
  • clone --base <base-url> <overlay-url>: rebuild the same tree, modes and all, on another machine.
  • status, doctor --fix: every drift between base, overlay and work-tree is reported with its remedy.

The README's Known limitations table is the honest list of what git itself does not allow.