Keep your forks up-to-date.
🤖 a GitHub App built with probot that keeps your forks up-to-date with upstream via automated pull requests.
Incorporate new changes as they happen, not in 6 months.
Trusted by repositories, triggered times.
Want to support this open source service? Please star it : )
- Ensure forks are updated.
- Automatically integrate new changes from upstream.
- Pull requests are created when upstreams are updated.
- Automatically merge or hard reset pull requests to match upstream.
- Add assignees and reviewers to pull requests.
- Customize pull request label.
- Honor branch protection rules.
- Work well with pull request checks and reviews.
- Upstream must be in the same fork network.
⚠️ Make a backup if you've made changes.
- Just install Pull app.
Pull app will automatically watch and pull in upstream's default (master) branch to yours using hard reset every hour. You can also manually trigger it anytime.
- Create a new branch.
- Setup the new branch as default branch under repository Settings > Branches.
- Add
.github/pull.yml
to your default branch.
(behaves the same as Basic Setup)
version: "1"
rules:
- base: master
upstream: wei:master # change `wei` to the owner of upstream repo
mergeMethod: hardreset
version: "1"
rules: # Array of rules
- base: master # Required. Target branch
upstream: wei:master # Required. Must be in the same fork network.
mergeMethod: hardreset # Optional, one of [none, merge, squash, rebase, hardreset], Default: none.
- base: dev
upstream: master # Required. Can be a branch in the same forked repo.
assignees: # Optional
- wei
reviewers: # Optional
- wei
label: ":arrow_heading_down: pull" # Optional
- Go to
https://pull.git.ci/check/${owner}/${repo}
to validate your.github/pull.yml
(Public repos only). - Install Pull app.
Go to https://pull.git.ci/process/${owner}/${repo}
to manually trigger pull.
Note: Nothing will happen if your branch is already even with upstream.
For the most common use case (a single master
branch), you can just direct users to install Pull with no configurations.
If you need a more advanced setup (such as a docs
branch in addition to master
), consider adding .github/pull.yml
to your repository pointing to yourself (see example). This will allow forks to install Pull and stay updated automatically.
Example (assuming owner
is your user or organization name):
version: "1"
rules:
- base: master
upstream: owner:master
mergeMethod: hardreset
- base: docs
upstream: owner:docs
mergeMethod: hardreset