Skip to content
git-branch

GitHub Action

Repository Sync Hub

v1.5.0 Latest version

Repository Sync Hub

git-branch

Repository Sync Hub

Sync current repository to other hub

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Repository Sync Hub

uses: ttionya/[email protected]

Learn more about this action in ttionya/Repository-Sync-Hub

Choose a version

Repository Sync Hub

GitHub release (latest SemVer) GitHub

A GitHub Actions for sync current repository to other hub.


Features

  • Sync branches and tags to other repository (GitHub, GitLab, Gitee, etc.)
  • Target repository support SSH and HTTP URL
  • Automatic delete branches and tags that is deleted
  • Retry on network errors
  • Can triggered on PUSH and DELETE event
  • Can triggered on a timer (SCHEDULE)

Usage

Be sure to run the actions/checkout in a step before this action.

SSH URL

# File .github/workflows/sync-ssh.yml

steps:
  -
    name: Checkout
    uses: actions/checkout@v3
    with:
      # Must be specified as 0, otherwise git does not allow push because of shallow updates.
      fetch-depth: 0
  -
    name: Sync
    uses: ttionya/Repository-Sync-Hub@v1
    with:
      # Sync to target repository full clone URL.
      target_repository: '[email protected]:ttionya/Repository-Sync-Hub-Test.git'
      # SSH key used to authenticate with git operations.
      ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}

HTTP URL

# File .github/workflows/sync-http.yml

steps:
  -
    name: Checkout
    uses: actions/checkout@v3
    with:
      # Must be specified as 0, otherwise git does not allow push because of shallow updates.
      fetch-depth: 0
      # Be sure use your own access token when you want to sync to GitHub repository,
      # only HTTP URL need this.
      token: ${{ secrets.HTTP_ACCESS_TOKEN }}
  -
    name: Sync
    uses: ttionya/Repository-Sync-Hub@v1
    with:
      # Sync to target repository full clone URL.
      target_repository: 'https://github.com/ttionya/Repository-Sync-Hub-Test.git'
      # Login name used to authenticate with git operations.
      http_access_name: 'ttionya'
      # Personal Access Token (PAT) used to authenticate with git operations.
      http_access_token: ${{ secrets.HTTP_ACCESS_TOKEN }}

Note: Access token needs workflow access, it will automatically check the full access to the repository.

You can see sample workflows for more usages.


About Dependabot

Dependabot triggered Actions can't access secrets now, you can view details here.


Thanks

Inspired by the following actions which may be more suitable for your workflow.


License

MIT