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

https://github.com/sjquant/flopha

flopha is a powerful Git workflow tool designed to simplify version management and streamline your GitHub flow.
https://github.com/sjquant/flopha

cli git git-commands gitflow github-flow rust semantic semantic-versioning version-control versioning workflow

Last synced: 4 days ago
JSON representation

flopha is a powerful Git workflow tool designed to simplify version management and streamline your GitHub flow.

Awesome Lists containing this project

README

          

# flopha

flopha is a powerful Git workflow tool designed to simplify version management and streamline your GitHub flow. It helps developers manage semantic versioning, automate tagging, and simplify branch management.

## Install

Shell (Mac, Linux):

```
curl -fsSL https://raw.githubusercontent.com/sjquant/flopha/main/scripts/install.sh | sh
```

## Quickstart

1. Get the last version:

```
flopha last-version
```

2. Check out to the last version:

```
flopha last-version --checkout
```

3. Calculate the next version:

```
flopha next-version
```

4. Use a custom version pattern:

```
flopha next-version --pattern "desktop@{major}.{minor}.{patch}"
```

5. Create a new version tag:

```
flopha next-version --pattern "desktop@{major}.{minor}.{patch} --create
```

6. Increment major version:

```
flopha next-version --increment major
```

7. Use branch-based versioning:

```
flopha next-version --source branch
```

8. Create a new version branch:

```
flopha next-version --pattern "release/{major}.{minor}.{patch}" --source branch --create
```

## CLI Commands and Options

### NextVersion

Calculates and displays the next version based on the current version in the repository.

#### Usage

#### Options

- `-i`, `--increment `: Specify the version part to increment. Options are:

- `major`
- `minor`
- `patch`

Default: `patch`

- `-p`, `--pattern `: Specify a custom pattern for version matching and generation. Use placeholders `{major}`, `{minor}`, and `{patch}`. Example patterns:

- `v{major}.{minor}.{patch}`
- `release-{major}.{minor}.{patch}`

- `-v`, `--verbose`: Enable verbose output for detailed information.

- `-s`, `--source `: Specify the source for versioning. Options are:

- `tag` (default)
- `branch`

- `-c`, `--create`: Creates a new tag or branch

### LastVersion

Retrieves and displays the most recent version tag or branch in the repository that matches a specified pattern.

#### Usage

#### Options

- `-p`, `--pattern `: Get the last version based on a given pattern (e.g., `v{major}.{minor}.{patch}`).

- `-v`, `--verbose`: Enable verbose output for detailed information.

- `-s`, `--source `: Specify the source for versioning. Options are:

- `tag` (default)
- `branch`

- `-c`, `--checkout`: Checks out the last version

## Why Choose flopha?

- **Simplify Semantic Versioning**: Automate version calculations based on your preferred patterns.
- **Streamline Git Workflows**: Easily manage tags and versions across multiple branches and projects.
- **Flexible and Customizable**: Adapt to various versioning schemes and project structures.
- **Boost Productivity**: Reduce manual version management tasks and potential errors.

## License

flopha is released under the [MIT License](LICENSE).