Зеркалирование Beta
Зеркалирование
Зеркалирование из внешнего сервиса в GitVerse Beta
Пользователи имеют возможность создавать свои зеркала репозиториев.
Синхронизация зеркала с оригинальным репозиторием происходит каждые 24 часа.
Для создания зеркала при импорте репозитория отметьте чекбокс Сделать репозиторий зеркалом.
Пример:

На странице зеркала репозитория будет отображаться информация о том, что это зеркало, и ссылка на оригинальный репозиторий:

Зеркалирование из GitVerse в сторонние сервисы Beta
Зеркалирование из GitVerse в GitHub Beta
Для зеркалирования используется CI/CD: по событию push в репозитории запускается скрипт, выполняющий git push --force
в репозиторий на GitHub.
git push --force
перезаписывает все изменения в целевом репозитории на GitHub при каждом коммите в репозиторий на GitVerse.
Создайте на GitHub пустой репозиторий в который будут зеркалироваться изменения.
Создайте персональный токен доступа GitHub (opens in a new tab) с отмеченной опцией
public_repo
.Включите CI/CD в настройках зеркалируемого репозитория на GitVerse.
Создайте секреты:
- GH_MIRROR_ACTOR - имя пользователя на GitHub;
- GH_MIRROR_REPO - наименование репозитория в GitHub, созданное на шаге 1;
- GH_MIRROR_TOKEN - GitHub персональный токен, созданный на шаге 2.
Создайте в директории .gitverse/workflows/ вашего репозитория на GitVerse mirror_to_gh.yaml файл следующего содержания:
name: Mirror Repository on: push: branches: - '*' # Зеркалировать все ветки tags: - '*' # Зеркалировать все теги jobs: mirror: runs-on: ubuntu-cloud-runner permissions: contents: write # Требуется для force push steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 # Полная история коммитов - name: Configure Git run: | git config --global user.name "Your Name" git config --global user.email "Your e-mail" - name: Mirror to Remote env: TARGET_REPO: "https://${{ secrets.GH_MIRROR_ACTOR }}:${{ secrets.GH_MIRROR_TOKEN }}@github.com/${{ secrets.GH_MIRROR_ACTOR }}/${{ secrets.GH_MIRROR_REPO }}" run: | # Добавляем целевой репозиторий как remote git remote add target $TARGET_REPO # Синхронизируем все ветки и теги git push --mirror --force target
Убедитесь, что изменения появились в целевом репозитории.