Skip to the content.

ivaldi upload

Push commits to GitHub.

Synopsis

ivaldi upload [branch] [flags]

Description

Upload the current timeline to GitHub, creating or updating the corresponding branch. Ivaldi automatically converts your commits to Git format and pushes them with visual progress tracking.

Flags

Prerequisites

  1. Portal configured: ivaldi portal add owner/repo
  2. GitHub authentication (token or CLI)

Examples

Basic Upload

ivaldi upload

Uploads the current timeline to GitHub with automatic branch creation and progress tracking.

Upload to Specific Branch

ivaldi upload main

Force Push (Overwrite Remote History)

ivaldi upload --force

Warning: Force push requires confirmation and will overwrite remote history. Use with extreme caution!

Complete Workflow

ivaldi portal add username/my-repo
ivaldi gather .
ivaldi seal "Add feature"
ivaldi upload

What Happens

  1. Detects changes - Compares local commits with remote state
  2. Optimizes transfer - Uses delta uploads when possible (only changed files)
  3. Uploads blobs - Parallel upload of file content to GitHub (with progress bar)
  4. Creates tree - Constructs Git tree structure
  5. Creates commit - Generates Git commit with preserved metadata
  6. Updates reference - Creates or updates the branch on GitHub

Progress Tracking

The upload command provides real-time progress bars for:

Performance Features

Authentication

GitHub Token

export GITHUB_TOKEN="ghp_your_token"
ivaldi upload

GitHub CLI

gh auth login
ivaldi upload

Common Workflows

Daily Workflow

# Make changes
ivaldi gather .
ivaldi seal "Daily progress"
ivaldi upload

Feature Branch

ivaldi timeline create feature-x
# ... work ...
ivaldi gather .
ivaldi seal "Add feature X"
ivaldi upload  # Creates 'feature-x' branch on GitHub

Comparison with Git

Git Ivaldi
git push ivaldi upload
git push -u origin branch ivaldi upload (automatic)

Troubleshooting

No Portal Configured

Error: no GitHub repository configured

Solution:

ivaldi portal add owner/repo

Authentication Failed

Error: GitHub authentication failed

Solution:

export GITHUB_TOKEN="your_token"
# or
gh auth login