Skip to content

kamontia/qs

Repository files navigation

Quick Squash

GitHub release MIT License CircleCI

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.

$ 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

Install

To install, use go get:

$ go get github.com/kamontia/qs

If you can use brew:

$ brew tap kamontia/qs
$ brew install qs

Contribution

  1. 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

in English

Author

Tatsuya Kamohara
Takeshi Kondo