Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tombruijn/commit-format
Git commit formatter utility.
https://github.com/tombruijn/commit-format
formatter git
Last synced: 3 months ago
JSON representation
Git commit formatter utility.
- Host: GitHub
- URL: https://github.com/tombruijn/commit-format
- Owner: tombruijn
- License: other
- Created: 2021-11-25T20:22:54.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-01T13:49:14.000Z (over 2 years ago)
- Last Synced: 2024-04-25T05:41:03.773Z (8 months ago)
- Topics: formatter, git
- Language: Ruby
- Homepage:
- Size: 45.9 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Commit Format
Commit Format is a formatter for commits to paste into a Git Pull Request
description.## Installation
1. Run `gem install commit_format`
## Usage
```
# Print all commits on feature branch since branching off the default branch
# Only works when not on the default branch
commit-format# Copy the output directly onto the clipboard on macOS
commit-format | pbcopy# Print the range of formatted commits
commit-format HEAD~1..HEAD# Prints the commits new in the 'my-feature' branch
commit-format main..my-feature# Print the last 5 commits
commit-format -n 5# Print all new commits since selected base branch
commit-format -b main
commit-format -b feature-branch# Print all commits with text lines joined into a paragraph
commit-format --paragraph
commit-format -p
```## Features
- Turns each commit subject into a markdown heading.
- Indents all headings in the message body on level lower. Heading level 2
becomes heading level 3, etc.
- Join text lines together as continuous paragraphs for easier reading in Pull
Requests. Markdown syntax like code block, blockquotes, lists, tables, etc.
are all kept in their original format.
```
# For example:
A commit message with multiple text lines
across multiple lines.# Becomes
A commit message with multiple text lines across multiple line.
```## Development
- Run `bundle install`
- Install [mono](https://github.com/appsignal/mono).### Tracking changes
Use mono to create a changeset per change.
```
mono changeset add
```## Testing
```
bundle exec rspec
```## Publishing
```
mono publish
```## Resources
- [Git is about communication](https://tomdebruijn.com/posts/git-is-about-communication/)