如何在本地取消提交中所做的所有更改?

Edu*_*scu 1 git github

我有一个特定的目录,其中的源代码在特定的提交中被修改0x0x0x0x0.在那次提交之后,许多其他提交都在主人身上.

我想取消该提交,0x0x0x0x0并且在此特定目录中的本地(非上游)具有此提交之前的代码.我可以为此运行什么git命令?

稍后编辑:我只想取消特定提交而不是后续更改.作为代码,它不会影响我,因为它是一个独立的模块.此外,我不会使用此本地存储库来进一步上游.

pok*_*oke 5

如果您想在引入提交之前返回,那么有效地删除其更改以及之后发生的所有更改(在其他提交中),您可以执行以下操作:

  • 检查旧版本的新分支,这样您就不会丢失任何信息,但只能从旧状态重新启动: git checkout -b <newbranchname> commithash~1
  • 将当前分支重置为旧版本,如果没有其他分支指向它们,则有效地从历史记录中删除所有提交: git reset --hard commithash~1

但是如果你只想撤消所述提交,同时保留之后所做的所有更改,你可以这样做:

git revert commithash
Run Code Online (Sandbox Code Playgroud)