tj.git-extras/man/git-squash.md
Bruno Sutic b2576adae0 Refactor and improve git squash
`git squash` refactor:
- first argument can be a branch or a commit reference
- the `--me` argument is not required anymore
- use `git reset --soft` is squashing on a current branch
- if squashing on master branch, prompt for confirmation
- does not delete provided branch after squashing
- fix bug: if `git merge --squash` command fails, exit script

Update README and man pages.

Fixes #95
Closes #198
2014-07-20 17:33:15 +02:00

1.1 KiB

git-squash(1) -- Import changes form a branch

SYNOPSIS

git-squash <source-branch|commit ref> [<commit-message>]

DESCRIPTION

Produce the working tree and index state as if a real merge happened without the commit or merge marks.

OPTIONS

<source-branch>

Branch to squash on the actual branch.

<commit reference> A commit reference (has to be from the current branch) can also be used as the first argument. A range of commits ..HEAD will be squashed.

<commit-message>

If commit-message is given, commit the squash result and delete the source-branch.

EXAMPLES

$ git squash my-other-branch
Updating a2740f5..533b19c
Fast-forward
Squash commit -- not updating HEAD
 my-changed-file | 1 +
 1 file changed, 1 insertion(+)
$ git commit -m "New commit without a real merge"

$ git squash HEAD~3 "Commit message"

AUTHOR

Written by Jesús Espino <jespinog@gmail.com>

REPORTING BUGS

<https://github.com/visionmedia/git-extras/issues>

SEE ALSO

<https://github.com/visionmedia/git-extras>