Skip to content

Rebase Upstream

Actions
Use git rebase to sync with upstream
0.11
Latest
Star (29)

Rebase Upstream Action

This Action is suitable if you:

  • are maintaining a fork
  • have changes that are not going to be merged into upstream
  • want to keep changes based on the latest upstream

Basically this is doing git rebase upstream master && git push -f. If there are conflicts, it simply fails.

Typical usage

# .github/workflows/sync.yml
name: Rebase Upstream
on:
  schedule:
  - cron: "0 0 * * 0"  # run once a week
  workflow_dispatch:   # run manually

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
      with:
        fetch-depth: 10  # greater than the number of commits you made
    - uses: imba-tjd/rebase-upstream-action@master
      # with:  # all args are optional
      #   upstream: <user>/<repo>
      #   branch:   master

Comparison

  • tgymnich/fork-sync and apps/pull: I don't want PRs. Besides there is not way to do a git rebase on GitHub website
  • repo-sync/github-sync: It's not using rebase or merge. It completely mirrors the upstream so that it can't sync current branch
  • wei/git-sync: Very complicated and have the same issue as github-sync. After all its aim is "syncing between two independent repo"
  • aormsby/Fork-Sync-With-Upstream-action: If set git_pull_rebase_config: true, it's similar. But it tries to be configurable so that looks complex
  • This one: Not widely tested. Use with caution

Rebase Upstream is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Use git rebase to sync with upstream
0.11
Latest

Rebase Upstream is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.