您现在的位置是:技术博客 > PHPPHP git永久删除文件或文件夹 2023-06-02 20:02【代码】334人已围观 简介git rm 操作不能将要删除的文件或文件夹完全从历史版本都删除,如何永久删除文件或文件夹并删除历史记录同步到远程仓库? 删除文件需要注意一点,就是你当前的项目,没有任何文件在待提交上,或者暂存区,有的话如果不重要你可以取消掉,或者先提交一次。让git这两个区域空下来。 如果没有清空使用删除,会提示如下代码: ``` Cannot rewrite branches: You have unstaged changes. ``` ####永久删除文件 清空暂存和提交区,然后输入以下命令: ``` # 例如,删除xxx.txt文件 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch xxx.txt' --prune-empty --tag-name-filter cat -- --all # 例如,删除xx文件夹 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch ./xx' --prune-empty --tag-name-filter cat -- --all ``` password.txt这个就是你要删除的文件名。 这个也是有路径的,默认就是项目的根目录(相对于git仓库的跟目录),所以这里的password.txt和package.json这些文件是同级的,如果你要删除更下层的,比如src下的password.text ``` git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch src/password.txt' --prune-empty --tag-name-filter cat -- --all ``` 注意路径不能以/开头,否则文件或文件夹会被认为是从 git 的安装目录开始。 删除文件夹 在<code>git rm --cached</code>命令后面添加 <mark> -r </mark> 命令,表示递归的删除(子)文件夹和文件夹下的文件,类似于 rm -rf 命令。 ``` git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch src' --prune-empty --tag-name-filter cat -- --all ``` 同步远程仓库 ``` git push --all --force ``` 转载:感谢您对Lucas个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源Lucas个人博客”。 很赞哦! ( 0 ) 上一篇:fastadmin后台导出 下一篇:markdown接口文档模板 相关文章 高并发库存防控超量 Swoole 基础篇一(初识) Sublime代码格式化 Session与Cookie 点击排行 生活不止眼前的苟且,还有诗和远方 十年一觉电影梦 奥地利基茨比厄尔 禅修治愈身心 自律成就自我 零边际成本社会 Modern PHP 鸟哥的Linux私房菜 本栏推荐 要技术,更要有创意 定时任务 Curl无法发送https请求 Lnmp环境搭建 常用的SQL函数 Windows的cmd指令 ueditor工具栏浮动bug 有趣的js插件 标签云 git laravel swoole javascript vue ajax html css sql linux docker flask django nginx apache thinkphp markdown sublime wechat layui photoshop nodejs mysql windows composer java maven springboot mybatis IDE 猜你喜欢 Swoole 基础篇一(初识) PHP进程管理器 正则的快速上手 Sublime代码格式化 Lnmp环境搭建 高并发库存防控超量 Linux之top命令 常用的SQL函数 站点信息 建站时间:2018-05-01 在线人数:1人 文章统计:263篇 总浏览量:222683次 统计数据:百度统计 个人信息:扫描二维码查看