跳至主要内容

在 GitHub Desktop 中重新排序提交

你可以使用 GitHub Desktop 重新排序分支历史记录中的提交。

关于重新排序提交

重新排序允许你更改提交历史记录,以提供更有意义的提交进度。GitHub Desktop 允许你拖放分支历史记录中的提交以重新排序它们。

重新排序提交

  1. 在 GitHub Desktop 中,单击 当前分支.

    Screenshot of the repository bar. A button, labeled "Current Branch" with a downward arrow indicating a dropdown menu, is outlined in orange.

  2. 在分支列表中,单击包含要重新排序的提交的分支。

    Screenshot of the "Current Branch" dropdown view. Under "Recent Branches", a branch, named "my-feature", is highlighted with an orange outline.

  3. 在左侧边栏中,单击历史记录

    Screenshot of the "History" tab in the sidebar. Above a list of commits, the tab button, labeled "History", is highlighted with an orange outline.

  4. 拖动要重新排序的提交,并将其放在两个相邻的提交之间。

    Screenshot of a list of commits in the "History" tab. The cursor hovers over a narrow horizontal line between two commits, with a "one" icon indicating one commit is being moved.

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

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

当你重新排序提交时,你可能会看到以下通知或错误消息之一。

  • 通知指出,对分支的请求更改需要强制推送才能更新远程分支。当先前将要重新排序的提交推送到远程分支时,会显示此通知。强制推送会更改分支的提交历史记录,并且会影响在该分支中工作的其他协作者。选择开始重新排序以开始重新排序,然后单击强制推送源以推送你的更改。
  • 错误指出重新排序失败,因为重新排序的提交中存在合并提交。
  • 会显示通知,指示你的当前分支上存在未提交的更改。选择隐藏更改并继续以存储更改并继续,或选择关闭以关闭消息并提交更改。当不再有任何未提交的更改时,你可以重新排序你的提交。
  • 一条消息指出存在合并冲突,在应用程序继续重新排序分支上的提交之前,您必须解决这些冲突。
    1. 单击查看冲突

      Screenshot of a notification about conflicts. At the end of the message, a link, labeled "View commits", is highlighted with an orange outline.

    2. 使用文本编辑器、命令行或其他工具以您喜欢的方式解决任何合并冲突。有关详细信息,请参阅“解决合并冲突”。

    3. 解决所有冲突后,您可以重新排序提交。

进一步阅读