更改选定的本地提交
要快速更改历史记录,您不需要整个交互式变基编辑器。提交的 Edit History 菜单可以编辑其消息、删除消息或上下移动消息;选择多个提交将打开 Squash 对话框。 GitTree 重写其上方的提交并保留旧分支,因此 Undo 将其放回原处。
免费已更新
免费使用 GitTree:登录后的所有本地 Git 功能。
开始之前
- 提交位于您当前的分支上,理想情况下,尚未推送:它们会获得新的 ID。
在哪里可以找到它
- 右键单击提交:Edit History › Edit Commit Message…、Drop Commit…、Move Commit Up、Move Commit Down。
- 选择多个提交,右键单击:Squash Commits…(Squash commits 涵盖了所有挤压方式)。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| Undo历史编辑 | ⌘Z | Ctrl+Z |
步骤
编辑消息
选择Edit Commit Message…。 Edit Message of … 表示此提交及其上面的每个提交都会获得新的 ID。更改 Message 并按 Save Message。
删除提交
选择Drop Commit…。该提交被排除在分支之外;旧分支被保留。使用 Drop Commit 确认。
移动提交
Move Commit Up 或 Move Commit Down 将其与其邻居交换。
压扁几个
选择连续一行中的提交,然后选择 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 下。