Show HN: GitEcho – set-and-forget Git mirroring on every push(github.com)1 points·by prashantsengar·vor 5 Monaten·0 commentsgithub.comShow HN: GitEcho – set-and-forget Git mirroring on every pushhttps://github.com/prashantsengar/GitEchoI built GitEcho after the recent GitHub outages led me to reading this HN comment: https://news.ycombinator.com/item?id=46947085.My goal was simple: make GitHub mirroring dead simple and invisible. Set it up once, then forget it.I wanted "push to GitHub" to also mirror to another provider (GitLab/Bitbucket/Gitea/self-hosted) without changing my day-to-day workflow.How it works:- ge add <mirror-url> installs a local pre-push hook- normal git push origin ... still works as usual- GitEcho captures pushed refs and mirrors them in the background- it uses existing SSH keys / git credential helper (no new token system)Install:uv tool install gitechoQuick start:ge add [email protected]:you/repo.gitgit push origin mainWhy not just add another remote and push yourself?You can, and that works. I am lazy and forgetful. I wanted something I could set up quickly and never think about again.GitEcho packages the boring parts: hook setup, background push, non-interactive auth behavior, and logs (`ge logs`).Current behavior:- safety-first by default: it checks origin refs before mirror push- if origin likely rejected, mirror push is skipped and logged- optional best-effort mode via `GITECHO_CONTINUE_ON_ORIGIN_REJECT=1`Planned next:- auto-create mirror repos on providers- watch a folder and auto-setup all repos (instead of per-repo setup)Repo: https://github.com/prashantsengar/GitEchoMirrored at: https://gitlab.com/prashantsengar/gitecho0 commentsPost comment—
My goal was simple: make GitHub mirroring dead simple and invisible. Set it up once, then forget it.
I wanted "push to GitHub" to also mirror to another provider (GitLab/Bitbucket/Gitea/self-hosted) without changing my day-to-day workflow.
How it works:
- ge add <mirror-url> installs a local pre-push hook
- normal git push origin ... still works as usual
- GitEcho captures pushed refs and mirrors them in the background
- it uses existing SSH keys / git credential helper (no new token system)
Install:
uv tool install gitecho
Quick start:
ge add [email protected]:you/repo.git
git push origin main
Why not just add another remote and push yourself?
You can, and that works. I am lazy and forgetful. I wanted something I could set up quickly and never think about again.
GitEcho packages the boring parts: hook setup, background push, non-interactive auth behavior, and logs (`ge logs`).
Current behavior:
- safety-first by default: it checks origin refs before mirror push
- if origin likely rejected, mirror push is skipped and logged
- optional best-effort mode via `GITECHO_CONTINUE_ON_ORIGIN_REJECT=1`
Planned next:
- auto-create mirror repos on providers
- watch a folder and auto-setup all repos (instead of per-repo setup)
Repo: https://github.com/prashantsengar/GitEcho
Mirrored at: https://gitlab.com/prashantsengar/gitecho