0
我想做到以下幾點,以我的本地副本:如何將我的本地GIT完全重置爲之前的提交?
- 放棄所有更改我所做的一切。
- 刪除所有已添加的新文件。
- 將我的本地副本重置爲以前的提交ID,以便只有在提交時存在的文件存在於本地副本中。
我應該運行類似以下的東西嗎?
git checkout ID .
git clean -fd
我想做到以下幾點,以我的本地副本:如何將我的本地GIT完全重置爲之前的提交?
我應該運行類似以下的東西嗎?
git checkout ID .
git clean -fd
像這樣:
git reset --hard [sha]
注意,它不會刪除未跟蹤文件,因爲Git的什麼都不知道關於他們。當你運行這個命令時,你的所有已執行和未執行的更改都會丟失,所以請注意這一點。
如果不慎運行此,想找回老犯然後git reflog
會告訴你的輸出,諸如這樣的:
86b46fd [email protected]{0}: 86b46fd: updating HEAD
a2b03fa [email protected]{1}: commit: [commit message]
的[email protected]{1}
提交這裏是老沙。使用重置回它:
git reset --hard [email protected]{1}
你能添加什麼是失去了一個警告 - 這是類似於'RM -rf'沒有備份 –
'git的清潔-f -d -x'將清除所有未跟蹤的文件(甚至那些在所需的提交之前添加的文件)(http://stackoverflow.com/a/9746440/422353) – madth3
@ madth3 Call me stupid but WTF does do with the OP with OP's question? –