git 删除版本库中的文件夹

起因:
  • 使用 phpstorm 新建一个文件时, 创建了一个空的本地 git 版本库 ( git init ), 并执行了全部提交( git add -A; git commit);
  • 对项目进行开发后, 要进行第一次提交, git status 发现 phpstorm 的相关文件 .idea 也发生了变化 modified, 然而这是不应该提交到版本库的, 所以要将其放到 .gitignore
  • 此时, git status 依然会出现 .idea 发生了改变, 但未添加到暂存区, changes not staged for commit
  • 所以不仅当前工作区中要修改 .gitignore 文件, 版本库中的已经提交过的版本中也要删除这个文件夹, 使用
    git rm -r folder_path --cached 命令即可
解决办法:
  1. .gitignore 文件中添加要忽略的文件
  2. 执行 git rm -r folder_path --cached 删除版本库中对应的文件夹
说明:

git rm -r folder_path --cached

  • rmremove -- 删除,
  • -rrecursion -- 递归(删除文件夹里面的全部子文件和子文件夹, 类似于 linux 操作中 chmod -R 777 folder_path 中的 -R)
  • folder_path 为指定的要删除的文件夹路径
  • --cached 指的是删除版本库而保留本地的文件(夹), 如果不加上 --cached, 那么本地的文件也会删除

如果需要删除暂存区的文件, 同时工作区也不需要这个文件了, 可以使用 git rm -r folder_path
如果需要删除暂存区的文件, 但工作区保留这个文件, 先把路径添加到 .gitignore 中, 然后 git rm -r folder_path --cached


参考自:
https://blog.csdn.net/qq_37174526/article/details/86770976;
https://www.cnblogs.com/toward-the-sun/p/6599656.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,658评论 0 13
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 4,963评论 0 9
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,672评论 1 26
  • 有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。 使用...
    Ten_Minutes阅读 2,217评论 0 4
  • 我如一只麻雀,恐惧着 惊慌失措地张望这四野 茫茫,这世界遍地的苍凉、荒芜…… 孤苦伶仃的它,胆颤地 小心翼...
    风里的话阅读 298评论 1 3