Kizuna is fully Git-compatible. Import any existing Git repository while preserving complete history.
Import Methods
Web UI Import
- Click New Repository → Import
- Select source:
- Git URL (any Git server)
- GitHub
- GitLab
- Bitbucket
- Enter credentials (if required)
- Configure:
- Target organization
- Repository name
- Visibility (Public/Internal/Private)
- Click Import
API Import
bash
curl -X POST https://kizuna.yourdomain.com/api/v1/repos/import \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_url": "https://github.com/user/repo.git",
"target_org": "my-org",
"name": "imported-repo",
"visibility": "private"
}'Command Line Import
bash
# Clone and push manually
git clone --mirror https://source.com/repo.git
cd repo.git
git push --mirror https://kizuna.yourdomain.com/org/repoWhat Gets Imported
✅ Preserved:
- Complete commit history
- All branches
- All tags
- Git LFS objects
- Submodules (as references)
❌ Not Imported:
- Issues and pull requests (use migration tools)
- CI/CD configurations (may need updates)
- Webhooks (recreate manually)
- User permissions (set up in Kizuna)
Large Repository Import
For repositories >1GB:
bash
# Use shallow clone first, then deepen
git clone --depth 1 https://source.com/repo.git
cd repo
git fetch --unshallow
git push --mirror https://kizuna.yourdomain.com/org/repoOr use the migration tool:
bash
kizuna-migrate git \
--source https://source.com/repo.git \
--target https://kizuna.yourdomain.com/org/repo \
--use-lfsImporting with LFS
bash
# Clone with LFS
git lfs clone https://source.com/repo.git
# Or migrate LFS objects
kizuna-migrate git --source-url ... --migrate-lfsPost-Import Steps
- Verify import: Check commit history in Kizuna UI
- Update remotes:
git remote set-url origin NEW_URL - Test clone: Ensure team can clone successfully
- Set up webhooks: Recreate integrations
- Configure CI/CD: Update pipeline configurations