轉載自http://stackoverflow.com/questions/673407/how-do-i-clear-my-local-working-directory-in-git
To reset a specific file to the last-committed state (to discard uncommitted changes in a specific file):
git checkout thefiletoreset.txt
This is mentioned in the git status
output:
(use "git checkout -- <file>..." to discard changes in working directory)
To reset the entire repository to the last committed state:
git reset --hard
To remove untracked files, I usually just delete all files in the working copy (but not the .git/
folder!), then do git reset --hard
which leaves it with only committed files.
A better way is to use git clean
:
git clean -d -x -f
will remove untracked files, including directories (-d
) and files ignored by git (-x
). Replace the -f
argument with -n
to perform a dry-run or -i
for interactive mode and it will tell you what will be removed.
Relevant links:
- git-reset man page
- git-clean man page
- git ready "cleaning up untracked files" (as Marko posted)
- Stackoverflow question "How do you remove untracked files from your git working copy?"
參考這篇的下面 ,有Git reset 取消上一次的操作說明
http://blog.gogojimmy.net/2012/01/21/how-to-use-git-2-basic-usage-and-worflow/