Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thetnaingtn/forky

Synchronize your forks with ease
https://github.com/thetnaingtn/forky

bubble bubbletea cli fork github github-api go synchronize

Last synced: 3 months ago
JSON representation

Synchronize your forks with ease

Awesome Lists containing this project

README

        

# forky
**forky** is a CLI tool that you can use to synchronize your forks with upstream repositories. You can select more than one repository at a time and synchronize them. To use **forky** you'll need to create a Github's personal access token.
## Demo
### Dark
![forky-dark](./forky-dark.gif)
### Light
![forky-light](./forky-light.gif)
## How does forky work basically?
**forky** detect the `default` branch(`main`, `master`, or `trunk` whatever it is) of your forked repository and will try to compare it with the upstream repository's `same-named` branch to find how many commits behind by your forked repositories are. Then it will show available forks which left behind the upstream repositories to synchronize.
## Installation
### Mac OS
```sh
brew install thetnaingtn/tap/forky
```
### npm
Are you a Node.js developer or Node.js is installed on your system? Perfect! **forky** also available as **npm** package
```sh
npm install -g forkyy
```
> Yes, you are right! The package name has an extra `y`. That is because the name `forky` is already taken by another package.
## Usage
```sh
forky --token `your github token`
```
## Keymaps
You can use the following keys to interact with **forky**
| Key | Description |
|:-----------------|:--------------------------------------------|
| a | Select all forks |
| n | Select none of the forks |
| space | Toggle(select/unselect) the fork |
| r | Refresh |
| m | Merge the selected fork with upstream branch|
| q | Quit |