我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
git add --all
, git stash
和git stash drop
,在此顺序中尝试这三个命令以删除所有未跟踪的文件。如果将所有这些未跟踪的文件添加到 Git 并隐藏它们,则所有未跟踪的文件都将移到隐藏列表中,并删除最上面的列表,即,隐藏%0}将从隐藏列表中删除隐藏的更改 。
其他回答
我感到惊讶的是,以前没有人提到这一点:
git clean -i
这代表着交互式互动您将快速了解要删除的内容, 以便您能够包含/ 排除受影响的文件。 总的来说, 仍然比执行强制任务要快--dry-run
在真正的清洁之前。
你将不得不扔在-d
如果您也想要处理空文件夹。最后,它会制作一个漂亮的别名:
git iclean
话虽如此,对有经验的用户来说,持有互动命令的手掌外握,可能会使有经验的用户感到疲劳。git clean -fd
用户互动办法:
git clean -i -fd
Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y
- i 用于交互式
-f 用于武力
-d 用于目录
- 被忽略文件的x( 需要时添加)
注: 添加添加添加- n,n或-- 干燥运行检查它能做什么
我认为安全和容易的方法就是这个!
git add .
git stash
欲了解更多信息https://www.atlassian.com/git/tutorials/saving-changes/git-stash#stashing-your-work
普通普通git clean
命令不会用我的git version 2.9.0.windows.1
.
$ git clean -fdx # doesn't remove untracked files
$ git clean -fdx * # Append star then it works!
OK,OK, OK, OK, OK, OK, OK, OK, OK,OK, OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,OK,删除删除未跟踪的自定义文件及文件夹容易使用git
在命令行中,按这样做:
git clean -fd
双检查在这样做之前, 它会删除文件和文件夹, 而不创建任何历史...
在本案中-f
代表武力和-d
代表目录...
所以,如果只删除文件,您可以使用-f
仅 :
git clean -f
如果您想要删除删除(目录) 和文件, 您只能删除未跟踪的目录和文件 :
git clean -fd
还有,你也可以用-x
添加被 git 忽略的文件。 如果您想要删除所有文件, 这将很有帮助 。
并添加-i
git 请求您逐个删除文件的许可 。
如果您不确定并想要先检查事项,请添加-n
旗帜。
使用使用-q
如果您不想在成功删除后看到任何报告。
我还创造了下面的图像 让它更令人难忘 尤其是我见过很多人混淆-f
有时是用来清理文件夹或把它混为一谈的!
推荐文章
- 为什么调用git分支——unset-upstream来修复?
- Windows git“警告:LF将被CRLF取代”,这是警告尾巴向后吗?
- git中的哈希冲突
- git可以自动在空格和制表符之间切换吗?
- Git暂存文件列表
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时
- git reflog和log有什么区别?