Loading...
Loading...
Manage and synchronize multiple Git repositories across workspace-hub. Use for bulk git operations, repository status checks, branch management, and coordinated commits across 26+ repositories.
npx skill4agent add vamseeachanta/workspace-hub repo-syncEfficiently manage and synchronize 26+ Git repositories with bulk operations, status monitoring, and coordinated commits.
# Check status of all repositories
./scripts/repository_sync status all
# Pull latest from all repos
./scripts/repository_sync pull all
# Sync (commit + push) all work repos
./scripts/repository_sync sync work -m "End of day sync"./scripts/repository_syncconfig/repos.conf# List all repositories
./scripts/repository_sync list all
# Check status of all repos
./scripts/repository_sync status all
# Pull latest from all repos
./scripts/repository_sync pull all
# Commit and push all repos
./scripts/repository_sync sync all -m "Update message"
# Work with specific category
./scripts/repository_sync pull work
./scripts/repository_sync sync personal -m "Personal updates"digitalmodelenergyfrontierdeepwateraceengineer-adminaceengineer-website# List work repos
./scripts/repository_sync list work
# List personal repos
./scripts/repository_sync list personal
# List all repos
./scripts/repository_sync list all./scripts/repository_sync status all# Pull all repositories
./scripts/repository_sync pull all
# Pull only work repos
./scripts/repository_sync pull work
# Pull specific repo
./scripts/repository_sync pull digitalmodel# Commit all with default message
./scripts/repository_sync commit all
# Commit with custom message
./scripts/repository_sync commit all -m "Update dependencies"
# Commit work repos only
./scripts/repository_sync commit work -m "Weekly sync"# Push all repositories
./scripts/repository_sync push all
# Push work repos
./scripts/repository_sync push work# Sync all repos
./scripts/repository_sync sync all -m "End of day sync"
# Sync work repos
./scripts/repository_sync sync work -m "Client updates"# Show branches in all repos
./scripts/repository_sync branches all
# Show branches in work repos
./scripts/repository_sync branches work./scripts/repository_sync fetch-branches all# Merge main into current branches
./scripts/repository_sync sync-main all
# Rebase instead of merge
./scripts/repository_sync sync-main all --rebase# Switch to main
./scripts/repository_sync switch all main
# Switch to feature branch
./scripts/repository_sync switch work feature/new-designconfig/repos.conf# Repository URL Configuration
digitalmodel=git@github.com:username/digitalmodel.git
energy=git@github.com:username/energy.git
aceengineer-admin=git@github.com:username/aceengineer-admin.git.gitignoredigitalmodel/ # Work
energy/ # Work
personal-project/ # Personal
mixed-repo/ # Work, Personal# Edit configuration
./scripts/repository_sync config
# Refresh repository list
./scripts/repository_sync refresh# Morning: Pull latest
./scripts/repository_sync pull all
# During day: Work on code...
# End of day: Sync everything
./scripts/repository_sync sync all -m "$(date +%Y-%m-%d) updates"# Start feature in all work repos
./scripts/repository_sync switch work feature/new-feature
# Develop across repos...
# Keep in sync with main
./scripts/repository_sync sync-main work
# Push feature branches
./scripts/repository_sync push work
# Return to main
./scripts/repository_sync switch work main# Create release branch
./scripts/repository_sync switch work release/v1.2.0
# Final sync and push
./scripts/repository_sync sync work -m "Release v1.2.0 preparation"
# After merge, back to main
./scripts/repository_sync switch work main
./scripts/repository_sync pull work# Multiple specific repos
./scripts/repository_sync sync digitalmodel energy -m "Update"
# Pattern-based (if supported)
./scripts/repository_sync sync "ace*" -m "Ace project updates"# Built-in parallelization
./scripts/repository_sync pull all --parallel
# Or using xargs
ls -d */ | xargs -P 4 -I {} git -C {} pullssh -T git@github.com./scripts/repository_sync list all./scripts/repository_sync status all# Status will show conflicts
./scripts/repository_sync status all
# Resolve manually in affected repo
cd affected-repo
git status
# Fix conflicts...
git add .
git commit -m "Resolve conflicts"
# Continue with other repos
./scripts/repository_sync sync all# List stale remote-tracking branches
git remote prune origin --dry-run
# Prune stale branches
git remote prune origin# Reset to remote state
cd repo-name
git fetch origin
git reset --hard origin/main
# Or restore from backup
git reflog
git reset --hard HEAD@{2}# Verify SSH key
ssh -T git@github.com
# Check credential helper
git config --global credential.helper# Test connectivity
git ls-remote origin
# Use HTTPS fallback
git remote set-url origin https://github.com/user/repo.git# Check file permissions
ls -la .git/
# Fix permissions
chmod -R u+rwX .git/# Launch interactive menu
./scripts/workspace
# Navigate: Repository Management → Repository Sync Managergit config core.protectNTFS falsegit config --global core.longpaths truegit config core.symlinks falsefile script.shdos2unix script.shgit config core.autocrlf inputwhile [ "$(pwd)" != / ]/d//WORKSPACE_HUBpwdpwd/d/workspace-hub/digitalmodelD--workspace-hub-digitalmodelgit stash push -m "pre-sync"git stash popgit stash listgit fetch origin && git reset --hard origin/maingit rev-list --count HEAD..origin/main..HEAD.gitmodulesgit submodule statusgit add -f <file>[scope] action: description
Examples:
[all] update: Dependency refresh
[work] fix: Security patches
[docs] add: API documentation# Check what will be pushed
./scripts/repository_sync status all
# Review specific repo changes
cd repo-name && git diff origin/main