请帮助我是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提交
- 6. Git - 删除/撤消提交的方式
- 7. 撤消git上次提交推送
- 8. 撤销git merge几次提交前
- 9. 只需撤消GIt的“提交”命令(不将文件恢复到之前的提交)
- 10. Git撤消提交并推送后删除的文件
- 11. Git:撤消未提交的更改以重置特定文件
- 12. 撤消或删除以前的Git提交中的更改
- 13. 如何在本地提交Git文件?
- 14. Git:撤消本地更改; git add。 + git rm?
- 15. git撤消提交受保护的分支?
- 16. 提交前撤消'git add' - 需要删除添加的文件夹
- 17. 本地保留提交克隆Git
- 18. 提交前Git重置,如何撤消重置?
- 19. Git撤消本地分支删除
- 20. Git:提前一次提交头文件
- 21. 撤消git commit
- 22. 撤消Git Clean
- 23. git撤消合并提交另一个合并提交
- 24. 撤消git存储,git pull
- 25. git的子树添加:改变前缀保留本地提交
- 26. git提交并推送本地git文件夹,无需合并
- 27. 本地提交后Git拉
- 28. Git恢复本地提交
- 29. Git - 幻影本地提交
- 30. 在之前提交的文件中卸载文件git
'git status'输出是什么? – greg0ire