'\" t .\" Title: git-squash-branch .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/26/2022 .\" Manual: Chromium depot_tools Manual .\" Source: depot_tools 59e95c91 .\" Language: English .\" .TH "GIT\-SQUASH\-BRANCH" "1" "08/26/2022" "depot_tools 59e95c91" "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 ] .fi .sp .SH "DESCRIPTION" .sp \fBgit squash\-branch\fR 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, preceded 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 upstream (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 \fBgit rebase\-update\fR, and then when \fBgit rebase\-update\fR presents the conflict, you can verify that the conflict diff is what you expected (and then skip it with \fBgit rebase \-\-skip\fR)\&. .SH "OPTIONS" .PP \-m , \-\-message= .RS 4 Optional message to use for the first line of the squashed commit\&. If omitted, it defaults to "git squash commit for \&."\&. .RE .SH "EXAMPLE" .sp .sp .if n \{\ .RS 4 .\} .nf \fB$ git map\fR * \fBd0fb9c7283\fR \fB(HEAD \-> frozen_branch\fR\fB) \fR2014\-04\-10 ~ FREEZE\&.unindexed * \fBf48f415e0f\fR 2014\-04\-10 ~ modfile * \fB4c5b9c0afd\fR 2014\-04\-10 ~ a deleted file * \fBf7ce1e4b36\fR \fB(fixit\fR\fB) \fR2014\-04\-10 ~ Add neat feature * \fB3726937ae6\fR 2014\-04\-10 ~ Epic README update | * \fB14db2e5a60\fR \fB(cool_feature\fR\fB) \fR2014\-04\-10 ~ Respond to CL comments | | * \fBee3f972810\fR \fB(subfeature\fR\fB) \fR2014\-04\-10 ~ integrate with CoolService | | * \fB4f9f5082c8\fR 2014\-04\-10 ~ slick commenting action | |/ | * \fB7d84f8580a\fR 2014\-04\-10 ~ another improvement <(\fBsubfeature\fR) | * \fB27abea4b40\fR \fB(spleen_tag\fR\fB) \fR2014\-04\-10 ~ Refactor spleen | * \fBd8abe739e3\fR 2014\-04\-10 ~ Add widget |/ * \fBbeec6f4746\fR \fB(origin/main\fR\fB, origin/HEAD\fR\fB) \fR2014\-04\-10 ~ Make ReflectorImpl use mailboxes <(\fBcool_feature, fixit\fR) * \fB41290e02b7\fR 2014\-04\-10 ~ don\*(Aqt use glibc\-specific execinfo\&.h on uclibc builds * \fBa76fde7b7b\fR 2014\-04\-10 ~ [fsp] Add requestUnmount() method together with the request manager\&. * \fB9de7a713b3\fR 2014\-04\-10 ~ linux_aura: Use system configuration for middle clicking the titlebar\&. * \fB073b0c203a\fR 2014\-04\-10 ~ ContentView\->ContentViewCore in ContentViewRenderView * \fB2250f532d7\fR 2014\-04\-10 ~ ozone: evdev: Filter devices by path * \fB33a7a742b7\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 * \fB98e69e80b9\fR \fB(HEAD \-> frozen_branch\fR\fB) \fR2014\-04\-10 ~ cool squash demo * \fBf7ce1e4b36\fR \fB(fixit\fR\fB) \fR2014\-04\-10 ~ Add neat feature * \fB3726937ae6\fR 2014\-04\-10 ~ Epic README update | * \fB14db2e5a60\fR \fB(cool_feature\fR\fB) \fR2014\-04\-10 ~ Respond to CL comments | | * \fBee3f972810\fR \fB(subfeature\fR\fB) \fR2014\-04\-10 ~ integrate with CoolService | | * \fB4f9f5082c8\fR 2014\-04\-10 ~ slick commenting action | |/ | * \fB7d84f8580a\fR 2014\-04\-10 ~ another improvement <(\fBsubfeature\fR) | * \fB27abea4b40\fR \fB(spleen_tag\fR\fB) \fR2014\-04\-10 ~ Refactor spleen | * \fBd8abe739e3\fR 2014\-04\-10 ~ Add widget |/ * \fBbeec6f4746\fR \fB(origin/main\fR\fB, origin/HEAD\fR\fB) \fR2014\-04\-10 ~ Make ReflectorImpl use mailboxes <(\fBcool_feature, fixit\fR) * \fB41290e02b7\fR 2014\-04\-10 ~ don\*(Aqt use glibc\-specific execinfo\&.h on uclibc builds * \fBa76fde7b7b\fR 2014\-04\-10 ~ [fsp] Add requestUnmount() method together with the request manager\&. * \fB9de7a713b3\fR 2014\-04\-10 ~ linux_aura: Use system configuration for middle clicking the titlebar\&. * \fB073b0c203a\fR 2014\-04\-10 ~ ContentView\->ContentViewCore in ContentViewRenderView * \fB2250f532d7\fR 2014\-04\-10 ~ ozone: evdev: Filter devices by path * \fB33a7a742b7\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] 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 by checking out the \m[blue]\fBgit repository\fR\m[]\&\s-2\u[1]\d\s+2\&. .SH "NOTES" .IP " 1." 4 git repository .RS 4 \%https://chromium.googlesource.com/chromium/tools/depot_tools.git .RE