Skip to content

ram0verflow/git_porter_unified

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Super Git Porter

A unified tool for Git repository migrations and commit history manipulation.

Features

Super Git Porter combines multiple Git operations into a single, easy-to-use interface:

  • Multi-Repository Mode - Combine multiple source repositories into one target repository with proper subfolder structure and configurable timestamps
  • Single-Repository Mode - Port commits from one repository to another with custom timing options
  • Selective Mode - Choose specific commits to migrate between repositories
  • Chronology Mode - Reorganize commit history with proper chronological timestamps
  • Reset Mode - Complete repository rebuild with controlled commit ordering
  • Sync Mode - Push missing commits between repositories

Getting Started

Web Interface

The easiest way to use Super Git Porter is through the web interface:

./scripts/start_porter.sh

This will launch a local web server and open the interface in your browser.

Command Line

You can also use the unified command-line interface:

./scripts/git_porter_unified.sh <mode> [options]

For example:

./scripts/git_porter_unified.sh single --source "https://github.com/source/repo.git" --target "https://github.com/target/repo.git" --branch "main" --threshold "97684b87..."

Run ./scripts/git_porter_unified.sh --help to see all available options.

Requirements

  • Git
  • Node.js (for web interface)
  • Bash shell environment

Limitations

  • The tool requires proper Git permissions for both source and target repositories
  • Some operations perform force pushes which can overwrite history
  • Large repositories may take significant time to process
  • No authentication mechanism is included - repository URLs must be accessible without additional authentication during the session

Operation Modes

Multi-Repository Mode

Combines multiple source repositories into one target repository, each in its own subdirectory.

Single-Repository Mode

Ports commits from one repository to another with custom timing options between commits.

Selective Mode

Transfers selected commits between repositories. You can choose to take every other commit or skip specific commit hashes.

Chronology Mode

Reorganizes commit history to appear with proper chronological timestamps, either within today's date range or a custom date range.

Reset Mode

Completely resets and rebuilds repository history with controlled commit ordering.

Sync Mode

Identifies and pushes only missing commits between repositories or directly pushes the latest state.

Security Note

This tool is designed for local use only. It does not implement authentication mechanisms, so ensure that you have the proper permissions for all repositories you're working with.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published