請幫助我是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