如何从当前工作树中删除未追踪的本地文件?
当前回答
在运行清洁命令之前,总是使用 -n,因为它会向您展示哪些文件会被删除。
通常情况下,当没有确定的情况下,Git Clean 不会返回未跟踪的目录,以避免删除太多。 指定 -d 以便返回此类目录。 如果任何路径是确定的, -d 是无关紧要的; 所有未跟踪的文件符合确定的路径(除非在 --force 中提到的未跟踪的Git目录)将被删除。
git clean -n -d
git clean -n -d -f
git clean -d -f
默认情况下, git clean 只会删除未追踪的文件,这些文件不会被忽视. 任何符合您的.gitignore 或其他 ignore 文件中的模式的文件将不会被删除. 如果您想要删除这些文件,您可以将 -x 添加到清洁命令。
git clean -f -d -x
git clean -x -i
If you are not 100% sure that deleting your uncommitted work is safe, you could use stashing instead
git stash --all
git stash push --keep-index
呼叫 git stash 没有任何论点,相当于 git stash push。
git stash push -m "name your stash" // before git stash save (deprecated)
git stash drop // or clean
要查看关于如何使用 stash 的完整指示,请参见此 如何在 git 中以名称命名和获取 stash?
其他回答
注意: 首先,导航到目录并检查您要清理的分支。
-i 互动模式,它会告诉你什么将被删除,你可以从列表中选择一个操作。
清理文件只有 [文件不会列出并不会清理]: $ git clean -i 清理文件和文件夹: $ git clean -d -i
D 包括目录。
如果您从列表中选择 c 将删除未跟踪的文件/文件夹,并将删除您删除的文件/文件夹。
例如: 如果您在远程中重组文件夹并将更改拖到本地计算机上,则由其他人创建的文件/文件夹将最初在过去的文件夹和您重组的新文件夹中。
更好的方法是使用: git clean
git clean -d -x -f
这将删除未追踪的文件,包括目录(d)和由 git(x)忽略的文件。
此外,将 -f 论点替换为 -n 以进行干燥运行或 -i 为互动模式,它会告诉你什么将被删除。
如果您只想删除被“吉特状态”追踪的文件
git stash save -u
git stash drop "stash@{0}"
我更喜欢“清洁”这个,因为“清洁”会删除被Git忽略的文件,所以你的下一个构建将不得不重建一切,你可能会失去你的IDE设置。
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 clean -fd
在做之前双检查,因为它会删除文件和文件夹,而不会创建任何历史。
所以,如果你只想删除文件,你只能使用 -f:
git clean -f
如果您想要删除(目录)和文件,您只能删除未追踪的目录和文件如下:
git clean -fd
并添加 -i 旗帜,使 git 请求您的许可,以便在行程中单独删除文件。
如果您不确定,并希望先检查事物,请添加 -n 旗帜。
使用 -q 如果您不希望在成功删除后看到任何报告。
我也创建下面的图像,使它更令人难忘,特别是我已经看到许多人混淆 -f 为清洁文件夹有时或混合它在某种程度上!
推荐文章
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域