关于项目中.gitignore文件中*.properties一行的思考

在做项目重构过程中发现许多项目为了把dev下的配置文件忽略(因为本地配置经常改动),在.gitignore文件中加入“*.properties”来解决。

这样做固然固然很简单方便,但在思考一下,把所有的properties文件一棒子打死了(尤其是我们的gerrit还不能在线预览文件)。其实有这样一种场景,当其它环境的properties文件中有更新,你(也可能是你的队友)写完后本地测试没问题,然后commit 上去,发现非本地环境就是没有跑通,也许你会很快意识到.gitignore文件的问题,但当你本次提交有很多改动混合在一起的时候,你会首先怀疑自己的代码有问题,然后排查了半天,还是不知所以然。。。然后半天过去了。。。发现自己被很弱智的问题坑了。。。是的这是个很忧伤的故事,蛋蛋的忧伤

所以这个.gitignore文件加东西要慎重,太随意的话,在你忘记了你忽略了什么的时候,它就拐回来坑你,还有你的队友

回到我们的问题场景,我们只是为了忽略dev/下的配置文件,打死的范围不要多也不要少,来吧1,2,3走起
1.在”.gitignore”文件中加入”src/**/dev/”
2.清除git版本对要忽略文件的已有追踪
“`
git rm -r –cached src/**/dev/
“`

这时候执行git status查看发现,dev/下的文件被删除了,像下边这样

图片1

看到这个不必困扰,其实这里只是删除了git版本库中对这些文件的记录(看一下dev目录的这些文件,他们还在)。
3.别忘了最后一步add and commit
“`
git add .
git commit -m ‘fix ignore that only ignore dev/*’
git push origin head:refs/for/master
“`

在gerrit中+2并入分支

 

好了,解决,其它忽略类似

发表评论

电子邮件地址不会被公开。 必填项已用*标注