Skip to main content

atomic git

Git interoperability commands.

Synopsis​

atomic git <SUBCOMMAND>
atomic git import [--dry-run] [-b <BRANCH>] [--all] [--incremental] [-k <KIND>] [--no-vault] [--with-crdt]
atomic git push [-m <MESSAGE>] [--no-push] [--remote <REMOTE>] [-b <BRANCH>] [--allow-conflict-markers]
atomic git hooks <SUBCOMMAND>

Description​

atomic git bridges Atomic and Git repositories in two directions:

  • git import — bring an existing Git repository into Atomic: each Git commit becomes an Atomic change, preserving history. Run it inside a Git checkout to create the Atomic repository alongside.
  • git push — push Atomic's state out to Git as a regular commit, enabling Git shadow sync: your Atomic work appears on the Git remote (e.g. GitHub) without Git ever being the system of record.
  • git hooks — install or remove Git hooks that keep the two in sync automatically.

Subcommands​

git import — Import a Git Repository​

Synopsis​

atomic git import [OPTIONS]

Run inside a Git checkout. Each commit on the imported branch becomes an Atomic change on a view.

Options​

OptionDescription
--dry-runPreview what would be imported without creating an Atomic repository
-b, --branch <BRANCH>Import a specific branch instead of the default branch
--all (alias --all-branches)Import all local branches as separate views
--incrementalOnly import commits not already in Atomic
-k, --kind <KIND>Project kind for the .atomicignore template
--no-vaultSkip vault initialization
--with-crdtEagerly build the semantic (Trunk → Branch → Leaf) layer during import

Examples​

# Preview the import first
atomic git import --dry-run

# Import the default branch (creates Atomic repo + vault)
atomic git import

# Import everything, each branch becoming a view
atomic git import --all

# Re-run later to pick up new commits
atomic git import --incremental

git push — Push Atomic State to Git​

Synopsis​

atomic git push [OPTIONS]

Synthesizes a Git commit from the current Atomic view's state (message synthesized from change messages unless -m is given), commits it on the current branch, and pushes to the remote.

Options​

OptionDescription
-m, --message <MESSAGE>Custom commit message. If not provided, synthesizes from Atomic change messages
--no-pushDon't push to remote after committing
--remote <REMOTE>Remote name to push to (default: origin)
-b, --branch <BRANCH>Target branch to push to on the remote. Defaults to the current branch. The commit is still created on the current branch; this only changes the remote destination (useful for pushing the current view's state to a PR branch)
--allow-conflict-markersCommit even if the working copy still contains unresolved conflict markers. Off by default, mirroring atomic record; the shadow-sync turn-end hook must never pass this

Examples​

# Commit + push the current view's state to origin
atomic git push

# Push the current view's state to a PR branch
atomic git push -b feature/token-refresh

# Commit locally only
atomic git push --no-push -m "sync checkpoint"

git hooks — Manage Sync Hooks​

Synopsis​

atomic git hooks <SUBCOMMAND>

Subcommands​

SubcommandDescription
installInstall Git hooks for automatic sync
uninstallRemove Atomic's Git hooks
statusShow the current hook status
atomic git hooks install
atomic git hooks status
atomic git hooks uninstall

See Also​