git clean(转载)

git clean命令用来从你的工做目录中删除全部没有tracked过的文件.git

git clean常常和git reset --hard一块儿结合使用. 记住reset只影响被track过的文件, 因此须要clean来删除没有track过的文件. 结合使用这两个命令能让你的工做目录彻底回到一个指定的<commit>的状态.缓存

用法

git clean -n

是一次clean的演习, 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒.code

git clean -f  

删除当前目录下全部没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 无论这些文件有没有被track过.blog

git clean -f <path>

删除指定路径下的没有被track过的文件.开发

git clean -df

删除当前目录下没有被track过的文件和文件夹.it

git clean -xf

删除当前目录下全部没有track过的文件. 无论他是不是.gitignore文件里面指定的文件夹和文件.编译

讨论

git reset --hard和git clean -f是一对好基友. 结合使用他们能让你的工做目录彻底回退到最近一次commit的时候.class

 

git clean对于刚编译过的项目也很是有用. 如, 他能轻易删除掉编译后生成的.o和.exe等文件. 这个在打包要发布一个release的时候很是有用.打包

例子

下面的例子要删除全部工做目录下面的修改, 包括新添加的文件. 假设你已经提交了一些快照了, 并且作了一些新的开发.项目

git reset --hard
git clean -df

运行后, 工做目录和缓存区回到最近一次commit时候一摸同样的状态, git status会告诉你这是一个干净的工做目录, 又是一个新的开始了.

相关文章
相关标签/搜索