2018-02-02-解决IDE中无法忽略的非代码文件

时间:2024-10-24 13:06:14

layout: post

title: 2018-02-02-解决IDE中无法忽略的非代码文件

key: 20180202

tags: GIT 版本管理

modify_date: 2018-02-02

---

解决IDE中无法忽略的非代码文件

说明:

正文:

  • 问题:
  • 有时候发现IDE(比如pycharm)中非代码文件(比如PYCHARM自己的“.idea”目录下的文件),因为IDE而总是变化,而总是要求被commit;
  • 你无法对这些文件应用ignore来忽略,从而不让他提交到远端GIT;
  • 分析:
  • GIT的本地忽略设置(.gitignore)必须保证git的远程仓库分支上没有要忽略的这个文件,如果远程分支上存在这个文件,则本地忽略无效,即便在ignore里设置了也没用;
  • 有人说这是git的bug,但也许GIT本来也是这样设计,或故意如此的;
  • 解决:
    1. 确保本地正确安装了可用的GIT环境,尤其是可在在WIN10目录下运行“GIT BASH HERE...”(linux类似,可能更方便清晰些);
    1. 在OS层,不要在IDE内。先拷贝备份目录“.idea”;(其他文件是类似的,这里以pycharm的IDE文件所在目录“.idea”来举例)
    1. 在源码目录进入“GIT Bash Here...”, 删除“.idea”,并提交改动到远端GIT仓库;

      cd .idea //进入目录 rm -rf * //递归删除文件及子目录 cd .. //退到上级目录 rmdir .idea //删除.idea文件夹 git status //查看git状态,此时git会俘获到删除了若干文件的情况,并列出 git add . //将改动提交到stage git commit -m '我们在IDE外删除了非源码的IDE自有文件并通过gitbash提交到远端'
    1. 找到源码根目录下面的文件".gitignore"(没有请新建),添加一行“.idea”表示忽略此目录下所有文件;
    • 4.a. 这句刚才不起效,现在远端GIT仓库删除后,对本地再次用忽略策略,会起效;
    1. 将本地保存的.idea文件夹,拷贝回到源码目录,因为IDE(pycharm)需要,然后从IDE打开项目,再次选择IDE的某菜单来commit提交,会发现不再列出这些忽略的IDE文件了;
    1. 世界再次清净下来!