'qs' is the git support command without the interactive editor.
You can squash some commits very quickly with the one-liner.
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.
To install, use go get
:
$ go get github.com/kamontia/qs
If you can use brew
:
$ brew tap kamontia/qs
$ brew install qs
- Fork (https://github.com/kamontia/qs/fork)
- Create a feature branch
- Run
go fmt
- Commit your changes
- Rebase your local changes against the master branch
- Run test suite with the
go test
and./script/test.sh
command and confirm that it passes - Create a new Pull Request