我如何从当前工作树中删除未跟踪的本地文件 ?
当前回答
执行`基本干净'指挥时要小心。
总是使用 -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
将会从当前 git 中删除未跟踪的文件
git clean -fd
当您想要删除目录和文件时, 这将只删除未跟踪的目录和文件
我喜欢用git stash
命令,稍后您可以得到隐藏的文件和更改。git clean
这也是一个很好的选择, 但完全取决于您的要求。 这是关于 Git 藏藏和 Git 干净的解释,7.3 Git 工具 - 粉刷和清洁
我在这里没有使用最流行的答案- git 不删除存储处的未追踪文件 。 不知道为什么 。 这是超简化的答案, 没有特别的 GIT 指令 !
任务: 从 git 仓库删除未跟踪的文件 :
- 将本地工程文件夹中的文件和文件夹移动一段时间
- 删除 . gitignore 中关于此承诺的文件和文件夹的所有行
- Git 添加 。
- Git 承诺 -m “从未跟踪的文件中清除存储库”
- Git 推动
从仓库中删除了所有文件和文件夹 。
如果您需要的话, 请在本地主机上恢复它们 :
- 将所有已临时移至本地工程文件夹的文件和文件夹再移到本地工程文件夹
- 将这些文件和文件夹的所有行后移到. gitignore
- Git 添加 。
- Git 承诺 -m “检查或在 Git 仓库中不再出现文件”
- Git 推动
你完蛋了! 你完蛋了! You are done!
更好的方法就是使用:干净干净
git clean -d -x -f
这将删除未跟踪的文件, 包括目录(-d)
被git (-x)
.
另替换-f
参数和-n
要执行 a/dry-run
或-i
用于交互式模式,它将告诉您要删除什么。
哦,我,我,我,Zsh与zzsh 千兆赫通过 git 插件提供这些伟大的别名。 它们也可以在狂欢中使用 。
gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'
gclean
除去未跟踪文件之外未跟踪的目录.gpristine
硬重置本地更改, 删除未跟踪的目录, 未跟踪的文件不要使用从.gitignore( 每一个目录) 和 $GIT_ DIR/ info/ excluldude 读取的标准忽略规则, 但是仍然使用给 - e 选项的忽略规则。 这样可以删除所有未跟踪的文件, 包括构建产品。 这可以用来( 可能与 Git 重设结合) 创建一个纯净的工作目录, 测试干净的构建 。.
推荐文章
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔
- 如何从另一个分支获得更改
- Git:权限被拒绝(publickey)致命-无法从远程存储库读取。克隆Git存储库时
- git reflog和log有什么区别?
- git推挂在Total line之后
- 重命名git子模块
- 结合Git存储库的前两次提交?
- Xcode 6 gitignore文件应该包括什么?
- 我如何从现有回购的分支创建一个新的GitHub回购?