{"id":15022225,"url":"https://github.com/jojomatik/sync-branch","last_synced_at":"2025-08-06T13:16:33.598Z","repository":{"id":61263342,"uuid":"467162126","full_name":"jojomatik/sync-branch","owner":"jojomatik","description":"Sync one branch to another","archived":false,"fork":false,"pushed_at":"2024-02-24T12:16:56.000Z","size":67,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"beta","last_synced_at":"2025-03-29T04:51:19.170Z","etag":null,"topics":["branch","fast-forward","force-push","git","github-actions","merge","rebase","sync"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jojomatik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-03-07T15:58:45.000Z","updated_at":"2023-03-17T16:56:42.000Z","dependencies_parsed_at":"2024-01-18T23:02:46.623Z","dependency_job_id":null,"html_url":"https://github.com/jojomatik/sync-branch","commit_stats":{"total_commits":37,"total_committers":2,"mean_commits":18.5,"dds":0.08108108108108103,"last_synced_commit":"e9d8fbc6a8865e57c63701f43c496ba90405a456"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jojomatik%2Fsync-branch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jojomatik%2Fsync-branch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jojomatik%2Fsync-branch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jojomatik%2Fsync-branch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jojomatik","download_url":"https://codeload.github.com/jojomatik/sync-branch/tar.gz/refs/heads/beta","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249072787,"owners_count":21208248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["branch","fast-forward","force-push","git","github-actions","merge","rebase","sync"],"created_at":"2024-09-24T19:57:40.068Z","updated_at":"2025-04-16T04:34:18.892Z","avatar_url":"https://github.com/jojomatik.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sync-branch\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/jojomatik/sync-branch?sort=semver)](https://github.com/jojomatik/sync-branch/releases) [![GitHub](https://img.shields.io/github/license/jojomatik/sync-branch)](LICENSE) [![Build and publish](https://github.com/jojomatik/sync-branch/actions/workflows/publish.yml/badge.svg)](https://github.com/jojomatik/sync-branch/actions/workflows/publish.yml) \n\nSync one branch to another\n\n## Usage\n```yml\nname: Update another branch on each release\nrelease:\n  types:\n    - published\n\njobs:\n  sync_release_to_v1:\n    if: ${{ startsWith(github.ref, 'refs/tags/v1') \u0026\u0026 !contains(github.ref, 'beta') }}\n    name: Sync branch `main` to other branches (fast-forward enabled)\n    runs-on: ubuntu-latest\n    steps:\n      - name: Keep `v1` up to date with `main` (fast-forward enabled)\n        uses: jojomatik/sync-branch@v2\n        with:\n          # The branch to sync from\n          #   Optional\n          #   Default: github.ref_name\n          source: \"main\"\n          # The branch to sync to\n          #   Optional\n          #   Default: `beta`\n          target: \"v1\"\n          # The strategy to use, if fast-forward is not possible (merge, rebase, force, \n          # fail).\n          #   Optional\n          #   Default: `merge`\n          #   Possible values:\n          #     - `merge`:  merge the source branch into the target branch\n          #     - `rebase`: rebase the target branch onto the source branch\n          #     - `force`:  force push the source branch to the target branch (overrides\n          #                 any changes on the target branch)\n          #     - `fail`:   pushes the source branch to the target branch, fails if the \n          #                 target branch contains changes that are not present in the \n          #                 source branch\n          strategy: \"merge\"\n          # The changes to accept, if strategy `merge` leads to merge conflicts\n          #   Optional\n          #   Default: `target`\n          #   Possible values:\n          #     - `target`: forces conflicts to be auto-resolved cleanly by favoring\n          #                 the target version. All non-conflicting changes are reflected \n          #                 in the merge result.\n          #     - `source`: forces conflicts to be auto-resolved cleanly by favoring\n          #                 the source version. All non-conflicting changes are reflected \n          #                 in the merge result.\n          #     - `false`:  `merge` fails if any merge conflicts occur.\n          resolve_conflicts: \"target\"\n          # The name to create merge commits with\n          #   Required, if strategy `merge` is used\n          git_committer_name: ${{ secrets.BOT_GIT_NAME }}\n          # The email to create merge commits with\n          #   Required, if strategy `merge` is used\n          git_committer_email: ${{ secrets.BOT_GIT_EMAIL }}\n          # The access token to push to the repository\n          #   Optional\n          #   Default: github.token\n          github_token: ${{ secrets.GH_TOKEN }}\n```\n\n## Licensing\nThis project is licensed under the MIT License (MIT). See also [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjojomatik%2Fsync-branch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjojomatik%2Fsync-branch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjojomatik%2Fsync-branch/lists"}