# 在 GitHub Desktop 中压缩提交

您可以使用 GitHub Desktop 压缩分支历史记录中的提交。

## 关于压缩提交

压缩允许您将分支历史记录中的多个提交合并为单个提交。 这将有助于使您的仓库历史记录更易读和易懂。

## 压缩提交

1. 在 GitHub Desktop 中，单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-branch" aria-label="git-branch" role="img"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg> Current Branch”\*\*\*\*。

   ![存储库栏的屏幕截图。 标记为“当前分支”的按钮带有指示下拉菜单的向下箭头，以橙色框出。](/assets/images/help/desktop/current-branch-menu.png)

2. 在分支列表中，选择包含您要压缩的提交的分支。

3. 在左边栏中，单击“历史记录”。

   ![边栏中“历史记录”选项卡的屏幕截图。 在提交列表上方，标有“历史记录”的选项卡按钮以橙色轮廓突出显示。](/assets/images/help/desktop/history-tab-in-commit-sidebar.png)

4. 选择要压缩的提交，并将其放到要合并的提交上。

   <div class="ghd-tool mac">

   可以选择一个提交，也可以使用 <kbd>Command</kbd> 或 <kbd>Shift</kbd> 选择多个提交。

   </div>

   <div class="ghd-tool windows">

   可以选择一个提交，也可以使用 <kbd>Ctrl</kbd> 或 <kbd>Shift</kbd> 选择多个提交。

   </div>

   ![“历史记录”选项卡中显示提交列表的屏幕截图。光标悬停在某个提交项上，并以蓝色突出显示。 悬停框显示“压缩 2 个提交”。](/assets/images/help/desktop/squash-drag-and-drop.png)

5. 修改新提交的提交消息。 要压缩的所选提交的提交消息已预先填充到“摘要”和“描述”字段中。\*\*\*\*\*\*\*\*

6. 单击“压缩提交”。\*\*\*\*

## 压缩提交时的错误消息

压缩提交时，您可能会看到以下通知或错误消息。

* 通知指出，请求的分支更改将需要强制推送以更新远程分支。 强制推送会更改分支的提交历史记录，并影响处理该分支的其他协作者。 选择“开始压缩”以开始压缩，然后单击“强制推送源”以推送所做的更改。\*\*\*\*\*\*\*\*
* 错误表示压缩失败，因为重新排序的提交之间有合并提交。
* 通知显示您当前分支上存在未提交的更改。 选择“储藏更改并继续”以存储更改并继续，或选择“关闭”以关闭消息并提交更改 。 当不再有任何未提交的更改时，您可以压缩您的提交。

## 其他阅读材料

* [用于在 GitHub Desktop 中管理提交的选项](/zh/desktop/managing-commits/options-for-managing-commits-in-github-desktop)