wei /pull

🤖 Keep your forks up-to-date via automated PRs

★ 7,242⑂ 803
TypeScriptCreated 2018-05-26github.com/apps/pull
7,242
stars
+-3+-3+13
803
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

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 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
       mergeUnstable: true
   

    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].

 Tr

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON