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. 移动端web总结

    viewport 通用模版: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  2. MYSQL:插入记录检查记录是否存在,存在则更新,不存在测插入记录SQL

    我们在开发数据库相关的逻辑过程中, 经常检查表中是否已经存在这样的一条记录, 如果存在则更新或者不做操作, 如果没有存在记录,则需要插入一条新的记录. 这样的逻辑固然可以通过两条sql语句完成. SE ...

  3. 使用三种方法求解前N个正整数的排列

    本篇博文给大家介绍前N个正整数的排列求解的三种方式.第一种是暴力求解法:第二种则另外声明了一个长度为N的数组,并且将已经排列过的数字保存其中:第三种方式则采用了另外一种思路,即首先获取N个整数的升序排 ...

  4. JavaSE(八)之集合练习一

    前面把Collection家族给学习完毕了,接下来我们通过几个练习来巩固前面的知识. 一.产生10个1-20之间的随机数要求随机数不能重复 import java.util.HashSet; impo ...

  5. CTF---Web入门第七题 猫抓老鼠

    猫抓老鼠分值:10 来源: 实验吧 难度:难 参与人数:8697人 Get Flag:3740人 答题人数:3944人 解题通过率:95% catch!catch!catch!嘿嘿,不多说了,再说剧透 ...

  6. codeforces A. Orchestra B. Island Puzzle

    A. Orchestra time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  7. oc 快排算法

    直接复制粘贴就可以用了 - (void)viewDidLoad { [super viewDidLoad]; NSMutableArray *M_arr = [[NSMutableArray allo ...

  8. ngRx 官方示例分析 - 1. 介绍

    ngRx 的官方示例演示了在具体的场景中,如何使用 ngRx 管理应用的状态. 示例介绍 示例允许用户通过查询 google 的 book  API  来查询图书,并保存自己的精选书籍列表. 菜单有两 ...

  9. ThinkPHP5上传图片并压缩为缩略图

    使用thinkphp开发app后端中,需要实现一个处理上传图片队列的功能 这是个上传多图片保存并且需要对其中一张图片进行压缩的功能 (使用的html5 mui框架开发app,如果直接载入原图,app客 ...

  10. MYsql优化where子句

    该部分讨论where子句的优化,不仅select之中,相同的优化同样试用与delete 和update语句中的where子句: 1: 移去不必要的括号: ((a AND b) AND c OR ((( ...