跳至内容
GitTree
历史和恢复

更改选定的本地提交

要快速更改历史记录,您不需要整个交互式变基编辑器。提交的 Edit History 菜单可以编辑其消息、删除消息或上下移动消息;选择多个提交将打开 Squash 对话框。 GitTree 重写其上方的提交并保留旧分支,因此 Undo 将其放回原处。

免费已更新

免费使用 GitTree:登录后的所有本地 Git 功能。

在此页面上
  1. 开始之前
  2. 在哪里可以找到它
  3. 步骤
  4. 预期结果
  5. 更大的变化
  6. 如果出现问题
  7. 问题
  8. 有关的

开始之前

  • 提交位于您当前的分支上,理想情况下,尚未推送:它们会获得新的 ID。

在哪里可以找到它

  • 右键单击提交:Edit History › Edit Commit Message…、Drop Commit…、Move Commit Up、Move Commit Down。
  • 选择多个提交,右键单击:Squash Commits…(Squash commits 涵盖了所有挤压方式)。
行动macOSWindows 和 Linux
Undo历史编辑⌘ZCtrl+Z

步骤

  1. 编辑消息

    选择Edit Commit Message…。 Edit Message of … 表示此提交及其上面的每个提交都会获得新的 ID。更改 Message 并按 Save Message。

  2. 删除提交

    选择Drop Commit…。该提交被排除在分支之外;旧分支被保留。使用 Drop Commit 确认。

  3. 移动提交

    Move Commit Up 或 Move Commit Down 将其与其邻居交换。

  4. 压扁几个

    选择连续一行中的提交,然后选择 Squash Commits…。 Squash 对话框显示结果、消息以及谁获得奖励;确认后,它们就成为一个提交。

预期结果

GitTree 表示 Commit message changed.、Commit dropped. Undo can bring it back.、Commit moved.,或者对于壁球来说,3 commits squashed into a1b2c3d.

更大的变化

对于一次进行多项更改,例如压缩某些提交并重新编写其他提交,请使用 interactive rebase 编辑器。要仅更改最后一次提交,请修改。

如果出现问题

“提交消息不能为空。”

至少键入一个摘要行。

编辑在合并提交上不可用

这些编辑重写了线性历史。合并提交不能以这种方式重写、删除或移动。

问题

我可以找回丢失的提交吗?

是的。按工具栏中的Undo;旧分支也保留在 refs/ogt/trash 下。