编辑 Git 项目历史
Git 支持编辑项目历史。 在功能分支上工作时,您可能希望在 共享 之前清理该分支并使其达到预期状态,此时该功能非常有用。 例如,您可以编辑提交说明,将与相同功能相关的多个小提交压缩为一个提交,或将包含不相关更改的提交拆分为多个单独的提交,将更改添加到之前的提交,等等。
编辑提交说明
如果您只需要更改提交说明,可在推送该提交之前进行编辑。
在 日志 选项卡的 Git 工具窗口 Alt+9 中右键点击要编辑说明的提交,然后从上下文菜单中选择 编辑提交说明 ,或按下 F2。
在打开的对话框中,输入新的提交说明,然后点击 确定。
修改上一次提交
有时您可能过早提交并忘记添加某些文件,或注意到上一次提交中有错误,需要在不创建新提交的情况下进行修复。
您可以使用 修改提交 选项将 已暂存更改 添加至上一次提交。 这样会得到一个单独的提交,而不是两个不同的提交。
在 提交 工具窗口 Alt+0 中,选择包含要添加到上一次提交的更改的已修改文件。
选择 修改 复选框,使 提交 按钮变为 修改提交 ,然后点击该按钮。
修改任意较早的提交
如果您需要将更改添加到任意较早的提交而非单独提交,可以使用 fixup 或 squash 操作实现。 两个命令都会将 已暂存更改 添加到选定提交,但对提交说明的处理方式有所不同:
squash会将新提交说明添加到原始提交中fixup会忽略新提交说明,仅保留原始提交的说明
在 提交 工具窗口 Alt+0 中,选择包含要追加到较早提交的更改的已修改文件。
在 日志 选项卡的 Git 工具窗口 Alt+9 中,右键点击要用本地更改修改的提交,然后从上下文菜单中选择 修复 或 压缩到。
如果选择压缩更改,请修改提交说明。
点击 提交 按钮上的箭头,并选择 提交并变基。
压缩提交
如果您需要合并与同一功能相关的两个提交以保持分支历史整洁,可以将它们压缩为一个提交。
在 日志 选项卡的 Git 工具窗口 Alt+9 中选择要合并的提交,并从上下文菜单中选择 压缩提交。
在打开的对话框中修改提交说明(默认包含两个提交的说明),然后点击 确定。
将更改 Ctrl+Shift+K 到远程分支。
丢弃提交
您可以在当前分支中丢弃已推送的提交,而无需 创建一个用于还原更改的额外提交。
在 日志 视图中选择要丢弃的提交,并从上下文菜单中选择 删除提交。