我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
uggested 命令从 git docs 删除未跟踪的文件是git 干净
git 干净- 从工作树中移除未跟踪的文件
建议的方法:通过使用git clean -i
这样我们就可以控制它。让我们看看剩下的选择。
可用的选项 :
git clean
-d -f -i -n -q -e -x -X (can use either)
解释:
1. - d. d. 与
除未跟踪的文件外, 删除未跟踪的目录。 如果未跟踪的目录由不同的 Git 仓库管理, 默认情况下不会删除。 如果您真的想要删除此目录, 请两次使用 - f 选项 。
2.f, -- 力
如果 Git 配置变量为清洁. require Force 不设假, 除非给 -f, n 或 -i , git clean 将拒绝运行 。
3 -i, -- 互动
以交互方式显示要做什么和清除文件。 详情请见“ 互动模式 ” 。
-n, --dry-run
不要删除任何东西, 只显示会做什么。
- 5q, - 安静
保持安静, 只报告错误, 而不是成功删除的文件 。
-e, --clucte=
除了在.gitignore(每个目录)和$GIT_DIR/info/exclude中发现的图案外,还认为这些图案属于一套现行无视规则。
7. -x
不要使用从.gitignore( 每一个目录) 和 $GIT_ DIR/ info/ exclude 读取的标准忽略规则, 但是仍然使用给定的 - e 选项的忽略规则。 这样可以删除所有未跟踪的文件, 包括建材产品 。 这可以用来( 可能与 Git 重设一起) 创建一个纯净的工作目录以测试清洁的构建 。
8. -X8 -X
只删除被 Git 忽略的文件。 这也许有助于从零开始重建一切, 但保存手动创建的文件 。
其他回答
我喜欢git stash push -u
因为你可以用git stash pop
.
我还找到了一种方法 在藏物中显示未追踪的文件(例如:git show stash@{0}^3
) https://stackoverflow.com/a/12681856/338986
内容2:git stash save
将作有利于push
谢谢 @timp-wolf.
用户互动办法:
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或-- 干燥运行检查它能做什么
执行`基本干净'指挥时要小心。
总是使用 -n
第一次
总是使用-n
在运行干净命令前, 它会显示要删除的文件 。
-d
通常情况下, 当未指定时, git clean 将不会在未跟踪的目录中循环, 以避免删除太多内容。 指定 - 指定它也会在目录中循环。 如果指定了任何路径, - d 是无关的; 所有匹配指定路径的未跟踪文件都将被删除( 强制下提及的嵌套 git 目录除外 ) 。
-f
| --force
如果 Git 配置变量清洁. require Force 不设假, Git clean 将拒绝删除文件或目录, 除非给 -f 或 -i。 Git 将拒绝修改未跟踪的嵌套 Git 仓库( 带有. git 子目录的目录) , 除非给第二个 - f 。
git clean -n -d
git clean -n -d -f
现在没有跑-n
如果输出是您要删除的 。
git clean -d -f
默认情况下,git clean
只会删除未被忽略的未追踪文件 。 任何符合您. gitignore 或其他忽略文件模式的文件都不会被删除。 如果您也想要删除这些文件, 您可以添加一个-x
向干净的命令。
git clean -f -d -x
还有一个互动模式可以使用-i
使用干净命令
git clean -x -i
或
如果您不能100%确定删除您未委托的工作是否安全, 您可以用藏匿代替git stash --all
在使用前stash --all
注:如果--all
选项,然后忽略被忽略的文件除防污装置外,还加以藏匿和清洗。未跟踪文件.
git stash push --keep-index
如果使用 -- kep- index 选项, 索引中已经添加的所有更改将保持不变。 您的分阶段更改将留在工作空间中, 但与此同时, 这些更改也将保存在您的隐藏中 。
电 电 电git stash
没有任何论据等于或等于或等于或等于或等于git stash push
.
git stash push -m "name your stash" // before git stash save (deprecated)
基于用过的旗旗的嵌入基于用过的旗子的嵌入可以将您的目录从未显示/ 高级文件清除出来, 将其写入隐藏存储文件 。 我给您在任何时间点使用文件的灵活性 。 @ info: tooltip隐藏与适用或弹出。然后,如果您可以删除您的隐藏文件,您可以运行:
git stash drop // or clean
看到关于如何与藏藏合作的完整指导 可以看到这一点如何在 Git 中点名并检索隐藏的 名称 ?
git clean -f to remove untracked files from working directory.
我在博客上报导了一些基本内容,git- intro- 基本命令
我刚刚发明和尝试的这种情形的救生衣(非常有效):
git add .
git reset --hard HEAD
当心!确定承诺任何所需的更改(甚至在未跟踪的文件中)执行前先执行.
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?
- 如何在不稳定的连接上完成一个大项目的git克隆?