scorpiox-mirror-git Build

A fleet-grade Git mirroring tool that synchronizes repositories across multiple remotes. Designed for organizations that maintain mirrors on GitHub, GitLab, Gitea, or private hosts simultaneously. Supports dry-run previews, forced pushes, pruning stale branches, and credential helper integration for automated CI/CD pipelines.

Linux x64 Linux ARM64 macOS ARM64 Windows x64

Flags & Options

Flag Short Description Takes Value
--help -h Show help message and exit No
--apply Apply the mirror sync (without this flag, runs in dry-run mode) No
--fix Attempt to fix diverged branches by resetting mirror to source state No
--prune Remove branches on mirror remotes that no longer exist on the source No
--force Force-push specified branch or pattern (e.g. 'main' or '*') Yes
--credential-helper Specify a Git credential helper for authentication (e.g. 'store', 'cache') Yes
--machine Target a specific machine or remote by name from the mirror config Yes

Usage Examples

# Dry-run: preview what would be synced (safe, no changes made)
scorpiox-mirror-git
# Apply the mirror sync — push all branches to configured remotes
scorpiox-mirror-git --apply
# Sync and prune stale branches that no longer exist on source
scorpiox-mirror-git --apply --prune
# Force-push a specific branch to all mirrors
scorpiox-mirror-git --apply --force main
# Fix diverged branches — reset mirrors to match source exactly
scorpiox-mirror-git --apply --fix
# Target a single machine/remote named "backup-gitlab"
scorpiox-mirror-git --apply --machine backup-gitlab
# Use a credential helper for authentication in CI environments
scorpiox-mirror-git --apply --credential-helper store
# Full CI pipeline: sync, prune, fix, with credential helper
scorpiox-mirror-git --apply --prune --fix --credential-helper cache

Source & Build Info

Source File
scorpiox/scorpiox-mirror-git.c
Lines of Code
1,715
Dependencies
libsxutil

Related Tools