编辑 Git 项目历史
Git 允许您编辑项目历史。 在处理功能分支并希望在与他人 共享之前进行清理并使其符合预期格式时,这会非常有用。 例如,您可以编辑提交消息、将与相同功能相关的小型提交压缩在一起,或将包含无关更改的提交拆分为多个独立提交、将更改添加到之前的提交中,等等。
编辑提交消息
如果您只需更改提交消息,可在推送该提交之前进行编辑。
在 日志 选项卡中的 Git 工具窗口 Alt+9 中右键点击要编辑消息的提交,然后从上下文菜单中选择 编辑提交消息 ,或按 F2。
在打开的对话框中,输入新的提交消息,然后点击 确定。
修改上一次提交
有时,您可能过早提交,忘记添加某些文件,或者发现上一次提交中的错误,希望修复但不想创建一个新的提交。
您可以使用 修改提交 选项将 暂存更改附加到上一次提交中。 因此,您将得到一个单一的提交,而不是两个不同的提交。
在 提交 工具窗口 Alt+0 中选择包含想要添加至上一次提交的更改的已修改文件。
选中 修改 复选框,使 提交 按钮变为 修改提交 ,然后点击它。
修改任意较早的提交
如果您需要将更改添加到较早的提交中,而不是单独提交,可以使用 fixup 或 squash 操作完成此操作。 两个命令都将 暂存更改附加到所选提交,但处理提交消息的方式不同:
squash会将新提交消息添加到原始提交中fixup会舍弃新提交消息,仅保留原始提交的消息
在 提交 工具窗口 Alt+0 中选择包含要附加到较早提交的更改的已修改文件。
在 日志 选项卡中的 Git 工具窗口 Alt+9 中,右键点击要使用本地更改修改的提交,然后从上下文菜单中选择 Fixup 或 压缩到。
如果选择了压缩更改,请修改提交消息。
点击 提交 按钮上的箭头,然后选择 提交并变基。
压缩提交
如果需要合并两个与同一功能相关的提交,可以将它们压缩为一个,以获得更清晰的分支历史。
在 日志 选项卡中的 Git 工具窗口 Alt+9 中选择要合并为一个的提交,然后从上下文菜单中选择 压缩提交。
在打开的对话框中,编辑提交消息(默认包含两个提交的消息),然后点击 确定。
将更改 Ctrl+Shift+K 推送至远程分支。
丢弃提交
您可以在当前分支中丢弃已推送的提交,而无需 创建一个新的提交来还原更改。
在 日志 视图中选择想要丢弃的提交,然后从上下文菜单中选择 放弃提交。