我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
如果需要从特定的子目录中删除未跟踪的文件,
git clean -f {dir_path}
并合并删除未跟踪的 dir/ file 和被忽略的文件 。
git clean -fxd {dir_path}
在此之后, 您将只对文件进行修改git status
.
其他回答
我刚刚发明和尝试的这种情形的救生衣(非常有效):
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 status” 命令中列出的所有更改即可使用以下组合 :
git add -A && git commit -m temp && git reset --hard HEAD^
这将第一阶段 您的所有更改, 然后创建一个临时承诺, 然后丢弃它 。
(d) [-f] [-n] [-q] [-e] [-x -X] [-]...
-q, --quiet do not print names of files removed
-n, --dry-run dry run
-f, --force force
-i, --interactive interactive cleaning
-d remove whole directories
-e, --exclude <pattern>
add <pattern> to ignore rules
-x remove ignored files, too
-X remove only ignored files
git add --all
, git stash
和git stash drop
,在此顺序中尝试这三个命令以删除所有未跟踪的文件。如果将所有这些未跟踪的文件添加到 Git 并隐藏它们,则所有未跟踪的文件都将移到隐藏列表中,并删除最上面的列表,即,隐藏%0}将从隐藏列表中删除隐藏的更改 。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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日志日期格式