如何修改指定的提交?

问题描述

您可以使用git rebase。例如,如果要修改 commit bbc643cd,请运行

$ git rebase --interactive 'bbc643cd^'

请注意^命令末尾的插入符号,因为您实际上需要重新定位到要修改的提交之前的提交。

在默认编辑器中,在提及“bbc643cd”的行中修改pickedit

保存文件并退出:git 将解释并自动执行文件中的命令。您会发现自己处于刚刚创建 commit 的先前情况bbc643cd

此时,bbc643cd是您的最后一次提交,您可以轻松修改它:进行更改,然后使用以下命令提交:

$ git commit --all --amend --no-edit

之后,键入:

$ git rebase --continue

返回到之前的 HEAD 提交。

:请注意,这将更改该提交项的 SHA-1 - 换句话说,这将重写从那时起的历史记录。如果你使用命令推送,你可以打破 reposgit push --force

解决方法

我通常会提交一份提交列表以供审核。如果我有以下提交:

  1. HEAD
  2. Commit3
  3. Commit2
  4. Commit1

…我知道我可以使用git commit --amend. Commit1但是,鉴于它不是提交,我该如何修改HEAD

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...