我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
我在这里没有使用最流行的答案- git 不删除存储处的未追踪文件 。 不知道为什么 。 这是超简化的答案, 没有特别的 GIT 指令 !
任务: 从 git 仓库删除未跟踪的文件 :
- 将本地工程文件夹中的文件和文件夹移动一段时间
- 删除 . gitignore 中关于此承诺的文件和文件夹的所有行
- Git 添加 。
- Git 承诺 -m “从未跟踪的文件中清除存储库”
- Git 推动
从仓库中删除了所有文件和文件夹 。
如果您需要的话, 请在本地主机上恢复它们 :
- 将所有已临时移至本地工程文件夹的文件和文件夹再移到本地工程文件夹
- 将这些文件和文件夹的所有行后移到. gitignore
- Git 添加 。
- Git 承诺 -m “检查或在 Git 仓库中不再出现文件”
- Git 推动
你完蛋了! 你完蛋了! You are done!
其他回答
使用使用git clean -f -d
以确保目录目录目录目录也删除。
不要删除任何东西, 只显示会做什么。
git clean -n
或
git clean --dry-run
除未跟踪的文件外,删除未跟踪的目录。如果一个未跟踪的目录由不同的 Git 仓库管理,则默认不会删除。使用该目录。
-f
如果您真的想要删除此目录, 选项将两次 。git clean -fd
然后您可以检查您的文件是否真的已删除git status
.
普通普通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!
我刚刚发明和尝试的这种情形的救生衣(非常有效):
git add .
git reset --hard HEAD
当心!确定承诺任何所需的更改(甚至在未跟踪的文件中)执行前先执行.
在实际删除之前先知道要删除的内容:
git clean -d -n
它将产生类似的东西:
将删除样本. txt
删除上一个命令输出中列出的所有内容 :
git clean -d -f
它将产生类似的东西:
删除样本. txt
更好的方法就是使用:干净干净
git clean -d -x -f
这将删除未跟踪的文件, 包括目录(-d)
被git (-x)
.
另替换-f
参数和-n
要执行 a/dry-run
或-i
用于交互式模式,它将告诉您要删除什么。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的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日志日期格式