回滚到公共仓库中的旧Git提交

我怎样才能回滚到git中的特定提交?

有人可以给我的最佳答案是使用git revertX次,直到我达到所需的提交。

所以,假设我想恢复到20次提交的提交,我必须运行20次。

有更简单的方法吗?

我无法使用重置,因为此存储库是公共的。


翻阅古今
浏览 492回答 3
3回答

幕布斯7119047

尝试这个:git checkout [revision] .[revision]提交哈希在哪里(例如:) 12345678901234567890123456789012345678ab。不要忘记.最后,非常重要。这将对整个树应用更改。您应该在git项目根目录中执行此命令。如果您位于任何子目录中,则此命令仅更改当前目录中的文件。然后承诺,你应该是好的。你可以撤消这个git reset --hard 这将删除工作目录和暂存区域中的所有修改。

FFIVE

要回滚到特定提交:git reset --hard commit_sha要回滚10次提交:git reset --hard HEAD~10如果您不想重写历史记录,可以使用以下帖子中的“git revert”

小怪兽爱吃肉

好吧,我想问题是,'回滚'是什么意思?如果您不能,reset因为它是公开的并且您希望保持提交历史记录完整,那么您是否只是希望您的工作副本反映特定的提交?使用git checkout和提交哈希。编辑:正如评论中指出的那样,使用git checkout而不指定分支将使您处于“无分支”状态。使用git checkout <commit> -b <branchname>签入一个分支,或git checkout <commit> .签进当前的分支。
打开App,查看更多内容
随时随地看视频慕课网APP