'\" t
.\"     Title: git-squash-branch
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 04/10/2014
.\"    Manual: Chromium depot_tools Manual
.\"    Source: depot_tools 68b1017
.\"  Language: English
.\"
.TH "GIT\-SQUASH\-BRANCH" "1" "04/10/2014" "depot_tools 68b1017" "Chromium depot_tools Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-squash-branch \- Takes all commits in a single branch and replaces them with a single commit\&.
.SH "SYNOPSIS"
.sp
.nf
\fIgit squash\-branch\fR [\-m <message>]
.fi
.sp
.SH "DESCRIPTION"
.sp
git squash\-branch is a simple helper command\&. It takes all the commits on the current branch from the \fImerge_base\fR to HEAD, and reduces them to a single commit\&. The new commit will contain a summary of all the commits which were squashed, preceeded by a header message indicating that it\(cqs the result of a squash (or the message you pass on the command line\&.)\&.
.sp
Squashing branches is useful when trying to rebase\-update over branches which were pushed to their upsteram (or committed by the \fICommit Queue\fR), and then conflicting changes landed in upstream on top of the push/commit\&. If you know that your branch was committed but \fBgit-rebase-update\fR(1) isn\(cqt able to automatically clean it, you can squash the troublesome branch before git rebase\-update, and then when git rebase\-update presents the conflict, you can verify that the conflict diff is what you expected (and then skip it with git rebase \-\-skip)\&.
.SH "OPTIONS"
.PP
\-m <message>, \-\-message=<message>
.RS 4
Optional message to use for the first line of the squashed commit\&. If omitted, it defaults to "git squash commit\&."\&.
.RE
.SH "EXAMPLE"
.sp

.sp
.if n \{\
.RS 4
.\}
.nf
\fB$ git map\fR
\fB* d0fb9c7	\fR (\fBfrozen_branch\fR) 2014\-04\-10 ~ FREEZE\&.unindexed
* \fBf48f415	\fR 2014\-04\-10 ~ modfile
* \fB4c5b9c0	\fR 2014\-04\-10 ~ a deleted file
* \fBf7ce1e4	\fR (\fBfixit\fR) 2014\-04\-10 ~ Add neat feature\fB    <(frozen_branch)\fR
* \fB3726937	\fR 2014\-04\-10 ~ Epic README update
| * \fB14db2e5	\fR (\fBcool_feature\fR) 2014\-04\-10 ~ Respond to CL comments
| | * \fBee3f972	\fR (\fBsubfeature\fR) 2014\-04\-10 ~ integrate with CoolService
| | * \fB4f9f508	\fR 2014\-04\-10 ~ slick commenting action
| |/
| * \fB7d84f85	\fR 2014\-04\-10 ~ another improvement\fB    <(subfeature)\fR
| * \fB27abea4	\fR (\fBspleen_tag\fR) 2014\-04\-10 ~ Refactor spleen
| * \fBd8abe73	\fR 2014\-04\-10 ~ Add widget
|/
* \fBbeec6f4	\fR (origin/master, origin/HEAD) 2014\-04\-10 ~ Make ReflectorImpl use mailboxes\fB    <(cool_feature, fixit)\fR
* \fB41290e0	\fR 2014\-04\-10 ~ don\*(Aqt use glibc\-specific execinfo\&.h on uclibc builds
* \fBa76fde7	\fR 2014\-04\-10 ~ [fsp] Add requestUnmount() method together with the request manager\&.
* \fB9de7a71	\fR 2014\-04\-10 ~ linux_aura: Use system configuration for middle clicking the titlebar\&.
* \fB073b0c2	\fR 2014\-04\-10 ~ ContentView\->ContentViewCore in ContentViewRenderView
* \fB2250f53	\fR 2014\-04\-10 ~ ozone: evdev: Filter devices by path
* \fB33a7a74	\fR 2014\-04\-10 ~ Always output seccomp error messages to stderr
\fB$ git squash\-branch \-m \*(Aqcool squash demo\*(Aq\fR
\fB$ git map\fR
\fB* 98e69e8	\fR (\fBfrozen_branch\fR) 2014\-04\-10 ~ cool squash demo
* \fBf7ce1e4	\fR (\fBfixit\fR) 2014\-04\-10 ~ Add neat feature\fB    <(frozen_branch)\fR
* \fB3726937	\fR 2014\-04\-10 ~ Epic README update
| * \fB14db2e5	\fR (\fBcool_feature\fR) 2014\-04\-10 ~ Respond to CL comments
| | * \fBee3f972	\fR (\fBsubfeature\fR) 2014\-04\-10 ~ integrate with CoolService
| | * \fB4f9f508	\fR 2014\-04\-10 ~ slick commenting action
| |/
| * \fB7d84f85	\fR 2014\-04\-10 ~ another improvement\fB    <(subfeature)\fR
| * \fB27abea4	\fR (\fBspleen_tag\fR) 2014\-04\-10 ~ Refactor spleen
| * \fBd8abe73	\fR 2014\-04\-10 ~ Add widget
|/
* \fBbeec6f4	\fR (origin/master, origin/HEAD) 2014\-04\-10 ~ Make ReflectorImpl use mailboxes\fB    <(cool_feature, fixit)\fR
* \fB41290e0	\fR 2014\-04\-10 ~ don\*(Aqt use glibc\-specific execinfo\&.h on uclibc builds
* \fBa76fde7	\fR 2014\-04\-10 ~ [fsp] Add requestUnmount() method together with the request manager\&.
* \fB9de7a71	\fR 2014\-04\-10 ~ linux_aura: Use system configuration for middle clicking the titlebar\&.
* \fB073b0c2	\fR 2014\-04\-10 ~ ContentView\->ContentViewCore in ContentViewRenderView
* \fB2250f53	\fR 2014\-04\-10 ~ ozone: evdev: Filter devices by path
* \fB33a7a74	\fR 2014\-04\-10 ~ Always output seccomp error messages to stderr
.fi
.if n \{\
.RE
.\}
.sp
.SH "SUGGESTED ALIASES"
.sp
Some common short\-hand aliases\&. Feel free to add these to your \fI~/\&.gitconfig\fR file\&.
.sp
.if n \{\
.RS 4
.\}
.nf
[alias]
  git squash = squash\-branch
.fi
.if n \{\
.RE
.\}
.sp
.SH "SEE ALSO"
.sp
\fBgit-rebase-update\fR(1)
.SH "CHROMIUM DEPOT_TOOLS"
.sp
Part of the chromium \fBdepot_tools\fR(7) suite\&. These tools are meant to assist with the development of chromium and related projects\&. Download the tools from \m[blue]\fBhere\fR\m[]\&\s-2\u[1]\d\s+2\&.
.SH "NOTES"
.IP " 1." 4
here
.RS 4
\%https://chromium.googlesource.com/chromium/tools/depot_tools.git
.RE
