Pull is a GitHub App that keeps your forks up-to-date with upstream via automated pull requests.
Maintaining a fork in sync with an upstream repository requires manual effort that quickly becomes tedious. Pull solves this by automatically creating pull requests that integrate new changes from upstream into your fork on a regular schedule. The tool works by periodically checking for upstream changes and opening pull requests using your configured merge strategy, whether that is merge, squash, rebase, or hard reset. You can trigger synchronization manually at any time through a web interface, and the app works within the same fork network as your upstream repository.
Pull suits developers and teams who maintain active forks and want to eliminate the overhead of manual synchronization. The basic setup requires only installing the app, which then automatically syncs your default branch using hard reset. For more control, you can create a `.github/pull.yml` configuration file to customize merge strategies, assign reviewers and assignees to generated pull requests, and respect branch protection rules. The tool supports GitHub Enterprise Server for enterprise-level deployments. A configuration validator is available to check your setup before installation.
The project maintains active engagement with its user base through a web interface for manual triggering and configuration validation. Development activity shows consistent attention to the tool's core functionality and reliability as a service.