为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
翻阅古今 2019-09-18 10:17:23
我怎样才能回滚到git中的特定提交?有人可以给我的最佳答案是使用git revertX次,直到我达到所需的提交。所以,假设我想恢复到20次提交的提交,我必须运行20次。有更简单的方法吗?我无法使用重置,因为此存储库是公共的。
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

尝试这个:


git checkout [revision] .

[revision]提交哈希在哪里(例如:) 12345678901234567890123456789012345678ab。


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


你可以撤消这个


git reset --hard 

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


查看完整回答
反对 回复 2019-09-18
?
FFIVE

TA贡献1797条经验 获得超6个赞

要回滚到特定提交:


git reset --hard commit_sha

要回滚10次提交:


git reset --hard HEAD~10

如果您不想重写历史记录,可以使用以下帖子中的“git revert”



查看完整回答
反对 回复 2019-09-18
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

好吧,我想问题是,'回滚'是什么意思?如果您不能,reset因为它是公开的并且您希望保持提交历史记录完整,那么您是否只是希望您的工作副本反映特定的提交?使用git checkout和提交哈希。


编辑:正如评论中指出的那样,使用git checkout而不指定分支将使您处于“无分支”状态。使用git checkout <commit> -b <branchname>签入一个分支,或git checkout <commit> .签进当前的分支。


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 483 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信