A GitHub App that automatically keeps your forks synchronized with upstream repositories via automated pull requests.
🤖 Keep your forks up-to-date via automated PRs
This tool is designed for developers and teams who maintain forks of repositories and want to ensure their forked branches stay up-to-date with the upstream source without manual intervention. It automates the synchronization process by creating pull requests to merge upstream changes, saving time and reducing merge conflicts. It is especially useful in collaborative environments and enterprise settings where consistent fork updates are critical.
Upstream repositories must be within the same fork network for synchronization to work. Users should back up any local changes before enabling this tool, especially when using the hard reset merge method, as it can overwrite local changes. Starring the repository may prioritize your usage of the open source service. The tool respects branch protection rules and integrates with GitHub Enterprise Server for enterprise environments.
Install the Pull GitHub App from https://github.com/apps/pull
The app will automatically watch and sync the upstream default branch to your fork's default branch using hard reset by default
Optionally, create a new branch and set it as the default branch in repository Settings > Branches
Add a .github/pull.yml configuration file to your default branch to customize sync behavior
Install the Pull app via GitHub Marketplace or https://github.com/apps/pull
Installs the app to your repository or organization to enable automated fork synchronization
Create a .github/pull.yml file with rules like: version: "1" rules: - base: master upstream: wei:master mergeMethod: hardreset
Configures the synchronization rules, including target branches, upstream references, and merge strategies
Manually trigger synchronization via GitHub Actions or GitHub UI
Allows users to manually initiate the pull synchronization process outside the scheduled updates