Add an installation instructions section to the README · Entire

Installation

Requires Go 1.26 or newer.

Install the latest release with go install:

go install entire.io/entire/gitsync/cmd/git-sync@latest

This drops a git-sync binary into $(go env GOPATH)/bin. Make sure that directory is on your PATH.

Or build from source:

git clone https://github.com/entireio/gitsync.git
cd gitsync
go build -o git-sync ./cmd/git-sync

Quick Start

git-sync sync \
  --source-token "$GITSYNC_SOURCE_TOKEN" \
  --target-token "$GITSYNC_TARGET_TOKEN" \
  https://github.com/source-org/source-repo.git

Run a replication that overwrites differing target refs, and fail instead of falling back to local materialization:

git-sync replicate \
  --stats \
  https://github.com/source-org/source-repo.git \
  https://github.com/target-org/target-repo.git

For very large initial migrations, add --target-max-pack-bytes to split the initial pack into multiple smaller batches. The same flag works on sync, since sync auto-bootstraps on empty targets:

git-sync sync \
  --target-max-pack-bytes 536870912 \
  --protocol v2 \
  -v

Add --measure-memory to any command to sample elapsed time and Go heap usage:

git-sync sync \
  --measure-memory \
  --json \
  <source-url>

Sync specific branches:

git-sync sync \
  --branch main,release \
  --source-token "$GITSYNC_SOURCE_TOKEN" \
  --target-token "$GITSYNC_TARGET_TOKEN"

Map a source branch to a different target branch:

git-sync sync \
  --map main:stable \
  <source-url> \
  <target-url>

Mirror tags and prune managed target refs that disappeared from source:

git-sync sync \
  --tags \
  --prune \
  <source-url>

Force source-side protocol v2:

git-sync sync \
  --protocol v2 \
  <source-url> \
  <target-url>

Your task

Based on the above changes:

  1. Create a new branch if on main
  2. Create a single commit with an appropriate message
  3. Push the branch to origin
  4. Create a pull request using gh pr create

ARGUMENTS: this fixes issue #20