# 在 GitHub Desktop 中重新排序提交

您可以使用 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. 在分支列表中，单击包含您想要重新排序其提交的分支。

   ![“当前分支”下拉列表视图的屏幕截图。 在“最近使用的分支”下，名为“my-feature”的分支以橙色轮廓突出显示。](/assets/images/help/desktop/select-branch-from-dropdown.png)

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

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

4. 拖动您想要重新排序的提交记录，并将其放置于两个相邻的提交记录之间。

   ![“历史记录”选项卡中提交列表的屏幕截图。当一个提交被移动时，光标悬停在两个提交之间的一条窄线上，请查看“one”图标。](/assets/images/help/desktop/reorder-drag-and-drop.png)

当应用程序重新排序提交时，“正在进行重新排序”对话框将指示更改的进度。

## 重新排序提交时的错误消息

重新排序提交时，您可能会看到以下通知或错误消息。

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

![有关冲突的通知的屏幕截图。 在消息末尾，标记有“查看提交”的链接以橙色边框突出显示。](/assets/images/help/desktop/reorder-resolve-conflicts.png)

1. 使用文本编辑器、命令行或其他工具（根据您的偏好）解决任何合并冲突。 有关详细信息，请参阅“[合并、关闭拉取请求](/zh/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts)”。

   1. 当所有冲突得到解决时，您可以重新排序您的提交。

## 其他阅读材料

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