如何从当前工作树中删除未追踪的本地文件?
当前回答
oh-my-zsh 与 zsh 提供这些伟大的联盟通过 git 插件. 它们也可以在 bash 中使用。
gclean='git clean -fd' gpristine='git reset --hard && git clean -dfx'
gclean 除去未追踪的目录除了未追踪的文件. gpristine 硬重定义本地变更,删除未追踪的目录,未追踪的文件,不要使用从.gitignore (每个目录) 和 $GIT_DIR/info/exclude 阅读的默认忽略规则,但仍然使用与 -e 选项提供的忽略规则。
其他回答
好吧,删除不需要的未追踪文件和文件夹是容易使用 git 在命令行,只是这样做:
git clean -fd
在做之前双检查,因为它会删除文件和文件夹,而不会创建任何历史。
所以,如果你只想删除文件,你只能使用 -f:
git clean -f
如果您想要删除(目录)和文件,您只能删除未追踪的目录和文件如下:
git clean -fd
并添加 -i 旗帜,使 git 请求您的许可,以便在行程中单独删除文件。
如果您不确定,并希望先检查事物,请添加 -n 旗帜。
使用 -q 如果您不希望在成功删除后看到任何报告。
我也创建下面的图像,使它更令人难忘,特别是我已经看到许多人混淆 -f 为清洁文件夹有时或混合它在某种程度上!
这是我一直使用的:
git clean -fdx
对于一个非常大的项目,你可能想运行它几次。
如果未追踪的目录是自己的 git 存储库(例如子模块),您需要使用 -f 两次:
清洁 -d -f -f
git-clean - 从工作树中删除未追踪的文件 同步 git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x♰ -X] [--] <path>... 描述 通过从当前目录开始,不受版本控制的文件重新删除工作树。
# Print out the list of files and directories which will be removed (dry run)
git clean -n -d
# Delete the files from the repository
git clean -f
注意后两个命令的 X 中的案例差异。
正常的 git 清洁命令不会用我的 git 版本 2.9.0.windows.1 删除未追踪的文件。
$ git clean -fdx # doesn't remove untracked files
$ git clean -fdx * # Append star then it works!
推荐文章
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?