git中删除远程分支的iml文件
问题说明
这个其实是我同事在开发完合并代码的时候,出的一个问题。提交合并远程主分支的时候,发现他自己的分支中包含一个iml文件。当然,这个文件是idea生成的,但是远程分支现在就已经包含了一个iml文件。
我的想法
试着在本地删除这个文件,但是不行,idea中的项目文件就全部不显示了。iml里面包含了整个项目的层级结构。删除后idea就无法显示整个项目层级。(也就是文件全部都消失了)
这个有点天真了
他的思路
重新创建一个干净的分支,拉取并将本次任务的代码修改添加到当前分支。重新合并到远程分支并发起mr。
思路简单,但是操作比较麻烦。
到这里问题就已经解决了,但是我记得git提供一个gitignore功能,可以通过手动编写该文件实现对指定格式的文件夹和文件忽略提交。保证代码整洁度。
idea自动似乎也可以隐藏这些生成的配置配置文件。参考地址
但这个不是我要说明的目的。
我觉得gitignore适用性更广
这里我简单学习下
gitignore简单操作
1. 在本地目录生成创建一个.gitignore的文件
2. 把要忽略的文件名填进去
*.iml
.github/
.git/
手动写也可以,但是对于复杂的项目目录,尽量工具生成,使用默认的
https://github.com/github/gitignore
比如搜索:Maven java spring等关键字
3. 之后当新增的文件包含gitignore中的规则,就会显示无法提交
$ git add dhide.iml
The following paths are ignored by one of your .gitignore files:
HelloWorld.class
Use -f if you really want to add them.
gitignore的规则
忽略指定的文件、目录
通配符忽略
网上一大堆教程,我就不献丑了。
项目使用git仓库,要求合并代码只包含开发代码和操作脚本,不能包含其他生成文件,和测试语句,无用注解等和业务不相关内容