Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wei/pull
🤖 Keep your forks up-to-date via automated PRs
https://github.com/wei/pull
fork forks-insight hacktoberfest probot probot-app probot-apps pull repository-management reviewer reviewers sync trigger upstream upstreams
Last synced: 3 days ago
JSON representation
🤖 Keep your forks up-to-date via automated PRs
- Host: GitHub
- URL: https://github.com/wei/pull
- Owner: wei
- License: mit
- Created: 2018-05-26T20:19:21.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-18T07:05:10.000Z (25 days ago)
- Last Synced: 2024-11-19T01:09:45.998Z (24 days ago)
- Topics: fork, forks-insight, hacktoberfest, probot, probot-app, probot-apps, pull, repository-management, reviewer, reviewers, sync, trigger, upstream, upstreams
- Language: TypeScript
- Homepage: https://github.com/apps/pull
- Size: 4.73 MB
- Stars: 6,275
- Watchers: 63
- Forks: 662
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- my-awesome - wei/pull - insight,hacktoberfest,probot,probot-app,probot-apps,pull,repository-management,reviewer,reviewers,sync,trigger,upstream,upstreams pushed_at:2024-12 star:6.3k fork:0.7k 🤖 Keep your forks up-to-date via automated PRs (TypeScript)
- jimsghstars - wei/pull - 🤖 Keep your forks up-to-date via automated PRs (TypeScript)
- starred - wei/pull - 🤖 Keep your forks up-to-date via automated PRs (TypeScript)
- stars - pull - to-date via automated PRs | wei | 6330 | (TypeScript)
- stars - pull - to-date via automated PRs | wei | 6330 | (TypeScript)
README
## Introduction
[![Version][version-badge]][version-url] [![Deno 2.0][deno-badge]][deno-url] [![TypeScript][ts-badge]][ts-url] [![License][license-badge]][license-url]
> 🤖 a GitHub App that keeps your forks up-to-date with upstream via automated
> pull requests._Can you help keep this open source service alive? **[💖 Please sponsor : )][pull-sponsor]**_
## Features
- 🔄 **Automated Synchronization**: Ensures forks are updated by automatically
creating pull requests to integrate new changes from upstream
- ⚙️ **Flexible Configuration**: Customize sync behavior through
`.github/pull.yml` configuration to accommodate different merge strategies,
including merge, squash, rebase, and hard reset
- 🕒 **Scheduled Updates**: Regularly checks for upstream changes periodically
to ensure forks are always up-to-date
- 👥 **Team Integration**: Facilitates collaboration by automatically adding
assignees and reviewers to pull requests, honoring branch protection rules and
working seamlessly with pull request checks and reviews
- 🚀 **Enterprise Ready**: Supports GitHub Enterprise Server, ensuring a smooth
integration process for enterprise-level projects### Prerequisites
- Upstream must be in the same fork network.
- ⚠️ _Make a backup if you've made changes._## Getting Started
**[⭐ Star this project][pull-repo]** (Highly recommended, starred users may
receive priority over other users)### Basic Setup
- Just install
**[ Pull app][pull-app]**.Pull app will automatically watch and pull in upstream's default (master) branch
to yours using **hard reset** periodically. You can also manually
[trigger](#trigger-manually) it anytime.### Advanced Configuration (with config file)
1. Create a new branch.
2. Setup the new branch as default branch under repository Settings > Branches.
3. Add `.github/pull.yml` to your default branch.#### Most Common
(behaves the same as Basic Setup)
```yaml
version: "1"
rules:
- base: master
upstream: wei:master # change `wei` to the owner of upstream repo
mergeMethod: hardreset
```#### Advanced usage
```yaml
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.
mergeUnstable: false # Optional, merge pull request even when the mergeable_state is not clean. Default: false
- base: dev
upstream: master # Required. Can be a branch in the same forked repo.
assignees: # Optional
- wei
reviewers: # Optional
- wei
conflictReviewers: # Optional, on merge conflict assign a reviewer
- wei
label: ":arrow_heading_down: pull" # Optional
conflictLabel: "merge-conflict" # Optional, on merge conflict assign a custom label, Default: merge-conflict
```4. Go to `https://pull.git.ci/check/${owner}/${repo}` to validate your
`.github/pull.yml`.
5. Install
**[ Pull app][pull-app]**.### Trigger Manually
You can manually trigger Pull by going to
`https://pull.git.ci/process/${owner}/${repo}`.### For Upstream Repository Owners
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):
```yaml
version: "1"
rules:
- base: master
upstream: owner:master
mergeMethod: hardreset
- base: docs
upstream: owner:docs
mergeMethod: hardreset
```## Contributing
See [CONTRIBUTING.md](./.github/CONTRIBUTING.md)
## License
[MIT](LICENSE) © [Wei He][pull-sponsor]
## Support
_Can you help keep this open source service alive?
**[💖 Please sponsor : )][pull-sponsor]**_---
Made with ❤️ by [@wei](https://github.com/wei)
[version-badge]: https://badgen.net/https/pull.git.ci/badges/version?label=Version&color=green&cache=300
[version-url]: https://pull.git.ci/version
[deno-badge]: https://img.shields.io/badge/Deno%202.0-000000?logo=Deno&logoColor=ffffff
[deno-url]: https://deno.com
[ts-badge]: https://badgen.net/badge/_/TypeScript/blue?&label=&icon=typescript&cache=86400
[ts-url]: https://www.typescriptlang.org
[license-badge]: https://badgen.net/badge/License/MIT/black?cache=86400
[license-url]: https://wei.mit-license.org
[pull-app]: https://github.com/apps/pull
[pull-repo]: https://github.com/wei/pull
[pull-sponsor]: https://prod.download/pull-readme-sponsor