请帮助我是Git的新手 - 在我的应用程序中出现严重错误,我想恢复以前的提交 - 但没有任何工作 - 无论我做什么,我仍然可以看到本地硬盘上的更新文件。我怎样才能恢复到以前的提交,并确保这是我必须在我的本地机器上使用?Git撤消 - 确保本地文件与之前提交的Git相同
回答
重新回到上次提交:
$ git reset --hard HEAD
请注意,所有未提交的更改将被丢弃。这会将所有文件恢复到上次提交状态。 HEAD也可以编辑以匹配提交的sha1哈希以恢复到特定的提交。
有关复位的详细信息,请阅读本:http://progit.org/2011/07/11/reset.html
感谢您的快速回复和帮助 - 我已经做到了这一点,但似乎我的本地文件没有更新?我也删除了之前的提交(不知道我是如何做到这一点的 - 我已经绕圈了好几个小时),但是我已经在git hub上返回了大约3次提交 - 这是我想要的 - 但它没有反映在我的本地文件中 - 我一直在使用类似pull的命令 - 但似乎没有任何效果 –
git status说了什么?任何改变都可以通过'git checkout - .'恢复,以确保文件列表镜像最后一次提交。 – Luwe
Luwe - 我终于找到了工作 - 这是一个非常棒的链接 - 最后我想我已经开始掌握Git正在尝试做的事情 - 这只是一个谜 - 并且没有文档将其解释为简单的链接提供 - 非常感谢。 –
如果你还没有推,尽量git reset --hard HEAD
。
否则git revert HEAD
将创建一个与您在最近一次提交时所做的完全相反的提交。
您还可以指定提交哈希而不是HEAD来撤消特定的提交。
第一件事情是,您可以临时应用git stash
进行本地更改。您可以使用git stash apply
返回这些更改。
如果问题不在您的本地更改中,您可以检查使用git checkout <commit-id>
的旧版本,其中commit-id是提交的哈希,分支名称或像HEAD ^这样的特殊引用。之后您将使用detached head,这意味着如果您希望对已签出的版本进行任何代码更改,则必须从此版本创建一个新分支(git checkout -b <new-branchname>
)。
- 1. 拒绝与之前提交的消息相同的消息提交git commit?
- 2. 撤消Git提交由于大文件
- 3. 需要撤消GIT提交
- 4. Git撤消上次提交
- 5. 撤销git merge几次提交前
- 6. Git:撤消未提交的更改以重置特定文件
- 7. 撤消或删除以前的Git提交中的更改
- 8. 如何在本地提交Git文件?
- 9. 本地保留提交克隆Git
- 10. Git撤消本地分支删除
- 11. git撤消合并提交另一个合并提交
- 12. 撤消git存储,git pull
- 13. Git恢复本地提交
- 14. 本地提交后Git拉
- 15. Git - 幻影本地提交
- 16. 将本地Git提交到git-svn的一个提交中
- 17. 撤消Git拉没有丢失以前未发现的本地文件
- 18. 在提交之前同步后删除本地文件
- 19. Git编辑撤消。如何使用git编辑撤消多个文件?
- 20. Git - 撤消更改
- 21. 撤消git合并
- 22. git撤消更改
- 23. 撤消git commit --amend
- 24. 在git中提交消息前缀
- 25. Git文件推送到远程撤消
- 26. Git在合并之前合并提交
- 27. 如何查看git的文件差异比较之前提交
- 28. 如何显示之前删除多个提交的git文件
- 29. 在提交Git之前检查消息的代码注释
- 30. Git保存提交之间的原始文件
'git status'输出是什么? – greg0ire