# pull
**Repository Path**: rockyfu/pull
## Basic Information
- **Project Name**: pull
- **Description**: 🤖 Keep your forks up-to-date via automated PRs
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-04-07
- **Last Updated**: 2021-06-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Basic Setup](#basic-setup)
- [Advanced Setup (with config)](#advanced-setup-with-config)
- [Most Common](#most-common)
- [Advanced usage](#advanced-usage)
- [For Repository Owners](#for-repository-owners)
- [Author](#author)
- [License](#license)
## Introduction
[](https://github.com/wei/pull)
[](https://travis-ci.com/wei/pull)
[](https://codecov.io/gh/wei/pull)
[](https://probot.github.io/)
[](https://standardjs.com)
[](https://github.com/facebook/jest)
[](https://wei.mit-license.org)
> 🤖 a GitHub App built with [probot](https://github.com/probot/probot) that keeps your forks up-to-date with upstream via automated pull requests.
Trusted by [](https://probot.github.io/apps/pull/) repositories, triggered [](https://github.com/issues?q=author%3Aapp%2Fpull).
_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-readme-sponsor)**_
## Features
- 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.
### Prerequisites
- Upstream must be in the same fork network.
- :warning: _Make a backup if you've made changes._
## Getting Started
**[⭐ Star this project](https://github.com/wei/pull)** (Highly recommended, starred users may receive priority over regular users)
### Basic Setup
- Just install **[
Pull app](https://github.com/apps/pull)**.
Pull app will automatically watch and pull in upstream's default (master) branch to yours using **hard reset** every few hours. You can also manually [trigger](#trigger-manually) it anytime.
### Advanced Setup (with config)
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` (Public repos only). See [#234](https://github.com/wei/pull/issues/234) for another way to validate it.
5. Install **[ Pull app](https://github.com/apps/pull)**.
### Trigger manually
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 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
```
## Author
[Wei He](https://github.com/wei) _github@weispot.com_
## License
[MIT](LICENSE)