git - 回滚到公共(public)仓库中的旧 Git 提交

标签 git git-checkout git-revert

如何回滚到 git 中的特定提交?

有人能给我的最佳答案是使用 git revert X 次,直到我达到所需的提交。

假设我想恢复到 20 次提交之前的提交,我必须运行它 20 次。

有没有更简单的方法来做到这一点?

我不能使用重置,因为这个存储库是公开的。

最佳答案

试试这个:

git checkout [revision] .

其中 [revision] 是提交哈希(例如:12345678901234567890123456789012345678ab)。

不要忘记最后的.,非常重要。这会将更改应用于整棵树。您应该在 git 项目根目录中执行此命令。如果您在任何子目录中,则此命令仅更改当前目录中的文件。然后提交,你应该是好的。

您可以通过以下方式撤消此操作

git reset --hard 

这将从工作目录和暂存区中删除所有修改。

关于git - 回滚到公共(public)仓库中的旧 Git 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007662/

相关文章:

git - 添加 *,但 sibling 被忽略

Git 推送错误 : Unable to unlink old (Permission denied)

git - 您能否在不造成冲突的情况下恢复除最后一次提交以外的提交?

linux - Git 打补丁

git - 是否有任何可下载的体面的 git 存储库管理器?

git - 从 Github checkout 分支,无需克隆整个仓库,也无需 Git

git - 在 git 或 tortoisegit 中撤消还原

git revert --no-commit 没有暂存

git - merge 提交有什么问题?

当该子模块没有该分支时,Git 子模块会忽略分支 checkout 时的错误