如何在已经推送的提交之间删除一个提交

  • 本文关键字:提交 删除 之间 一个 git
  • 更新时间 :
  • 英文 :


假设我在远程分支dev中按日期降序推送了3个提交。

commit 3
commit 2
commit 1

如何在保留commit3commit1的同时删除提交2?或者有其他方法可以做到这一点吗?

您可以使用git rebase -i commit-1并选择drop commit-2来执行此操作。

然而,如果它已经被推送到远程,则不建议这样做,因为其他人可能已经提取了您的更改,这会打乱他们的代码库。

因此,正如其他人在评论中指出的那样,最好使用git revert commit-2,这将创建一个与commit-2完全相反的新commit-4

您可以使用恢复特定的提交

git revert <commit_hash> (example: hashcode of commit-2)

<commit_hash>是您可以从git分支历史记录或使用(git log(命令找到的代码

  • Git->您的项目->您在其中进行提交的分支->分支机构的历史记录->复制(SHA(这是您的提交哈希代码

注意:如果您在commit-2和commit-3中对同一文件进行了更改。也许会有一些冲突。你需要解决它。