我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
git add --all
, git stash
和git stash drop
,在此顺序中尝试这三个命令以删除所有未跟踪的文件。如果将所有这些未跟踪的文件添加到 Git 并隐藏它们,则所有未跟踪的文件都将移到隐藏列表中,并删除最上面的列表,即,隐藏%0}将从隐藏列表中删除隐藏的更改 。
其他回答
我感到惊讶的是,以前没有人提到这一点:
git clean -i
这代表着交互式互动您将快速了解要删除的内容, 以便您能够包含/ 排除受影响的文件。 总的来说, 仍然比执行强制任务要快--dry-run
在真正的清洁之前。
你将不得不扔在-d
如果您也想要处理空文件夹。最后,它会制作一个漂亮的别名:
git iclean
话虽如此,对有经验的用户来说,持有互动命令的手掌外握,可能会使有经验的用户感到疲劳。git clean -fd
执行`基本干净'指挥时要小心。
总是使用 -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 add .
git reset --hard HEAD
当心!确定承诺任何所需的更改(甚至在未跟踪的文件中)执行前先执行.
要删除未跟踪的文件 :
git add .
git reset --hard HEAD
使用使用git clean -f -d
以确保目录目录目录目录也删除。
不要删除任何东西, 只显示会做什么。
git clean -n
或
git clean --dry-run
除未跟踪的文件外,删除未跟踪的目录。如果一个未跟踪的目录由不同的 Git 仓库管理,则默认不会删除。使用该目录。
-f
如果您真的想要删除此目录, 选项将两次 。git clean -fd
然后您可以检查您的文件是否真的已删除git status
.
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式