https://github.com/wireapp/merge-pr
Merge a PR with a linear history and commit signing
https://github.com/wireapp/merge-pr
Last synced: 8 months ago
JSON representation
Merge a PR with a linear history and commit signing
- Host: GitHub
- URL: https://github.com/wireapp/merge-pr
- Owner: wireapp
- License: gpl-3.0
- Created: 2025-01-22T16:18:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-21T15:38:53.000Z (10 months ago)
- Last Synced: 2025-08-21T18:26:29.948Z (10 months ago)
- Language: Rust
- Size: 52.7 KB
- Stars: 4
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# `merge-pr`: A Github merge button which preserves linear history and commit signing
Want a linear git history? Github has a button for you: "Rebase and Merge".
You can even disable all the other merge buttons and force its use!
Problem is, Github is not particularly smart about how it does this.
In particular, if you have signed commits and your branch is showing up proud and verified,
your `main` will still have unverified commits. Github really _means_ rebase, in that case,
even when `git merge --ff-only` would do the job.
With this tool you have a "merge button" which you can run to merge a PR from the command line,
preserving both linear history and your signed commits.
## Peer dependencies
This tool will fail unless both `git` and `gh` are installed, available on the PATH, and configured appropriately.
## Installation
### With Rust Toolchain / Local Build
```sh
cargo install --git https://github.com/wireapp/merge-pr
```
### Without Rust Toolchain / Download Prebuilt Artifact
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/wireapp/merge-pr/releases/latest/download/merge-pr-installer.sh | sh
```