如何从当前工作树中删除未追踪的本地文件?
当前回答
我已经失败了使用最受欢迎的答案在这里 - git 不会从存储库中删除未追踪的文件,无论如何. 不知道为什么. 这是我的超简单的答案,没有特殊的 GIT 命令!
任务:从 git 存储库中删除未追踪的文件:
移动文件和文件夹到其他地方从您的本地项目文件夹一段时间 删除所有行在.gitignore 关于这些文件和文件夹的承诺 Git 添加. Git 承诺 -m “从未追踪的文件中清除存储库” Git push
所有文件和文件已从存储库中删除。
如果您需要,请在本地恢复它们:
将您暂时移动到本地项目文件夹的所有文件和文件夹返回 将这些文件和文件夹的所有行返回.gitignore Git 添加. Git commit -m “检查或文件不再显示在 git 存储库” Git push
你已经完成了!
其他回答
更好的方法是使用: git clean
git clean -d -x -f
这将删除未追踪的文件,包括目录(d)和由 git(x)忽略的文件。
此外,将 -f 论点替换为 -n 以进行干燥运行或 -i 为互动模式,它会告诉你什么将被删除。
git-clean - 从工作树中删除未追踪的文件 同步 git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x♰ -X] [--] <path>... 描述 通过从当前目录开始,不受版本控制的文件重新删除工作树。
# Print out the list of files and directories which will be removed (dry run)
git clean -n -d
# Delete the files from the repository
git clean -f
注意后两个命令的 X 中的案例差异。
注意: 首先,导航到目录并检查您要清理的分支。
-i 互动模式,它会告诉你什么将被删除,你可以从列表中选择一个操作。
清理文件只有 [文件不会列出并不会清理]: $ git clean -i 清理文件和文件夹: $ git clean -d -i
D 包括目录。
如果您从列表中选择 c 将删除未跟踪的文件/文件夹,并将删除您删除的文件/文件夹。
例如: 如果您在远程中重组文件夹并将更改拖到本地计算机上,则由其他人创建的文件/文件夹将最初在过去的文件夹和您重组的新文件夹中。
git clean -fd 删除目录
git clean -fX 删除被忽略的文件
git clean -fx 删除被忽略和未被忽略的文件
可以使用上述所有选项,如
清洁 -fdXx
查看 git 手册 获取更多帮助
要知道在实际删除之前会删除什么:
清洁 -d -n
它会产生这样的东西:
将移除 sample.txt
要删除前命令输出中列出的所有内容:
清洁 -d -f
它会产生这样的东西:
删除 sample.txt