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. 世界再次清净下来!

2018-02-02-解决IDE中无法忽略的非代码文件的更多相关文章

  1. 解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号

    解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号 在设置中把"vetur.format.defaultFormatter.js": " ...

  2. 2018.7.15 解决css中input输入框点击时去掉外边框方法

    .input_css{ background:no-repeat 0 0 scroll #EEEEEE; border:none; outline:medium; }

  3. 解决 IDEA 中src下xml等资源文件无法读取的问题

    该问题的实质是,idea对classpath的规定. 在eclipse中,把资源文件放在src文件夹下,是可以找到的: 但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到 ...

  4. C#:解决WCF中服务引用 自动生成代码不全的问题。

    问题描述: 如下图:打叉的部分是引用不成功的部分 ,在web.config文件中没有自动添加其引用代码. 英文解释 在服务引用选择自己的项目的程序集就行了,如下图: 特别注意:这些程序集一定要在自己的 ...

  5. 解决WordPress中无法将上传的文件移动至wp-content/uploads

    搭建lnmp环境,放一个wordpress建站系统 lnmp环境很快就搭建完成了,但是在放wordpress的时候出现了一些问题 最主要的问题: 1.第一个是wp-content/uploads没有权 ...

  6. MvcHtmlString解决MVC中从后台返回HTML代码被编码问题

    (1) 要得到的效果 <a class="easyui-linkbutton" data-options="iconCls:'icon-add'" id= ...

  7. 解决java中按照数字大小来排序文件

    我们想要输出(1.jpg.2.jpg.3.jpg.10.jpg.11.jpg.20.jpg.21.jpg.31.jpg) 突然看到网上一些写法 总结:既然自己按照定义的文件名规则来处理,也可以进行使用 ...

  8. 在Asp.Net Core中使用中间件保护非公开文件

    在企业开发中,我们经常会遇到由用户上传文件的场景,比如某OA系统中,由用户填写某表单并上传身份证,由身份管理员审查,超级管理员可以查看. 就这样一个场景,用户上传的文件只能有三种人看得见(能够访问) ...

  9. idea中安装git后,代码颜色代表的含义

    idea中安装git以后,代码文件出现了不同的颜色 它们分别表示的含义: 绿色,已经加入控制暂未提交 红色,未加入版本控制 蓝色,加入,已提交,有改动 白色,加入,已提交,无改动 灰色:版本控制已忽略 ...

随机推荐

  1. Friday for Oldboy

    计算机的硬件介绍 1.  CPU的工作流程:取指令->解码->执行 .  程序状态字寄存器(Program Status Word,PSW)中有一个二进制位控制这两种模式. 内核态:当cp ...

  2. JavaScript 数组对象的去重

    JavaScript数组去重 1.原型去重法.通过prototype找到数组的源性对象Array,在数组的原型上添加unique()方法.需要使用的时候使用 点 " . " 进行连 ...

  3. Angular02 通过angular-cli来搭建web前端项目

    利用angular-cli的常见命令: npm i --save 包名   ->  软件依赖    npm i --save-dev 包名     ->  开发依赖    ng new 项 ...

  4. python机器学习工具包

    1. scikit-learn: Machine Learning in Python scikit-learn是一个基于NumPy, SciPy, Matplotlib的开源机器学习工具包,主要涵盖 ...

  5. CSS3让长单词与URL地址自动换行——word-wrap属性

    div{ word-wrap:break-word; } word-wrap属性可以使用的属性值为normal与break-word两个.使用normal属性值时浏览器默认处理,只在半角空格或者连字符 ...

  6. BZOJ:4827: [Hnoi2017]礼物

    [问题描述] 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一个送给她.每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度. 但是在她生日的 ...

  7. 2017ecjtu-summer training #1 UVA 12050

    A palindrome is a word, number, or phrase that reads the same forwards as backwards. For example, th ...

  8. 数塔~~dp学习_1

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 数塔 Time Limit: 1000/1000 MS (Java/Others)    Mem ...

  9. geotools实现多边形的合并&缓冲区

    这算是第一次接触开源工具包,说实话刚开始有点不知所措,中途遇到很多问题的时候也感觉头皮发麻,不过很高兴自己还是坚持下来了. geotools就不做过多的介绍了,想总结一下如何根据开源内容做自己的项目. ...

  10. extends和implements的区别

    extends表示继承 implements表示抽象类的接口