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

https://github.com/kamontia/qs

Support your fix-up quickly with git command
https://github.com/kamontia/qs

git

Last synced: 5 months ago
JSON representation

Support your fix-up quickly with git command

Awesome Lists containing this project

README

          

# Quick Squash
[![GitHub release](https://img.shields.io/github/release/kamontia/qs/all.svg?style=flat-square)][release]
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license]
[![CircleCI](https://circleci.com/gh/kamontia/qs.svg?style=svg)][status]

[release]: https://github.com/kamontia/qs/releases
[license]: https://github.com/kamontia/qs/blob/master/LICENSE
[status]: https://circleci.com/gh/kamontia/qs

## Description
'qs' is the git support command without the interactive editor.
You can squash some commits very quickly with the one-liner.

## Usage
Easy to execute.

```bash
$ qs n..m [ -f | -d | -m commit message]

(Example)
// You can see in git-rebase-to-do.
[4] pick ff2ec6a Add file-A
[3] pick bbe19f3 Add file-B
[2] squash 5544b4e Add file-C // squash to index number 3
[1] squash 29d02e7 Add file-D // squash to index number 3
[0] pick 76f6a9b Add file-E

// In this case, you type ...
$ qs 1..3 -f
$ ...(some logs)
$ Success!

$ git log --oneline
bd28afa Add file-E
823bad4 Add file-B
ff2ec6a Add file-A

Congratulations !
qs command can squash some commits very quickly!
Wao!

```
If conflicts occur, qs can NOT squash automatically.
You must rebase manually.

## Demo
![](https://github.com/kamontia/qs/blob/assets/assets/qs-demo.gif)

## Install

To install, use `go get`:

```bash
$ go get github.com/kamontia/qs
```

If you can use `brew`:

```bash
$ brew tap kamontia/qs
$ brew install qs
```

## Contribution

1. Fork ([https://github.com/kamontia/qs/fork](https://github.com/kamontia/qs/fork))
2. Create a feature branch
3. Run `go fmt`
4. Commit your changes
5. Rebase your local changes against the master branch
6. Run test suite with the `go test` and `./script/test.sh` command and confirm that it passes
7. Create a new Pull Request

## Presentations / Articles
### in Japanese
- [最速でGitのコミットをまとめるコマンドqs(quick squash)を作ってみた](https://qiita.com/kamontia/items/ac5c7f99599049b545e9)
- [複数のコミットをsquashするコマンド「qs(quick squash)」を作った](http://blog.chaspy.me/entry/2018/08/26/120000)
- [14日間でサクサクっとOSSをリリースした話](https://speakerdeck.com/kamontia/talking-of-releasing-oss-in-14-days)

### in English
- [QS - CLI tool to quickly squash your commit](https://dev.to/chaspy/qs---cli-tool-to-quickly-squash-your-commit-246)
- [Look back on our OSS activities](https://speakerdeck.com/chaspy/look-back-on-our-oss-activities)

## Author

[Tatsuya Kamohara](https://github.com/kamontia)
[Takeshi Kondo](https://github.com/chaspy)