关于 git clean

原创 464122053 随笔 笔记 45阅读 2018-05-05 09:37:06 举报

我的空间:http://zhougang.online

今天提交代码时 , 报错了,错误如下
$ git pull
error: The following untracked working tree files would be overwritten by merge: src/assets/.DS_Store
Please move or remove them before you merge.
Aborting

解决方法 就是git clean

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

git clean 经常和git reset --hard 一起结合使用. 记住reset只影响被track过的文件, 所以需要clean来删除没有track过的文件. 结合使用这两个命令能让你的工作目录完全回到一个指定的<commit>的状态.

用法

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

$ git clean -f删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过.

$ git clean -f <path> 删除指定路径下的没有被track过的文件.

$ git clean -df 删除当前目录下没有被track过的文件和文件夹.

$ git clean -xf 删除当前目录下所有没有track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件.

例子

git reset --hardgit clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候.

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

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

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复