【git】git clean

git clean用法

git clean 从你的工作目录中删除所有没有 tracked,没有被管理过的文件。

git clean 和 git reset --hard 结合使用。

clean 影响没有被 track 过的文件(清除未被 add 或被 commit 的本地修改)

reset 影响被 track 过的文件 (回退到上一个 commit)

所以需要 clean 来删除没有 track 过的文件,reset 删除被 track 过的文件

结合两命令 → 让你的工作目录完全回到一个指定的 <commit> 的状态

 

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

git clean -n

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

git clean -f

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

git clean -f <path>

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

git clean -df

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

git clean -xf

 

 

git reset --hard和git clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候。git clean对于刚编译过的项目也非常有用. 如, 他能轻易删除掉编译后生成的.o和.exe等文件. 这个在打包要发布一个release的时候非常有用。

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

git reset --hard
git clean -df

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

posted @ 2022-05-23 10:52  苏格拉底的落泪  阅读(71)  评论(0)    收藏  举报