git提交时忽略指定文件

  我们在项目开发过程中经常用到git来管理自己的项目,使用git版本控制进行多人协作开发具有许多优势,这里就不一一阐述了,有兴趣的同学可以自己去查找资料进行系统的学习。而本篇文章要说的是git使用过程中会遇到的一个问题,就是我们在项目开发过程中经常会修改一些配置文件 ,但是有的时候这些配置文件不需要被提交到远程仓库中,只在本地生效即可,此时就需要我们每次提交代码时把该文件给手动忽略,那么可不可以把该文件设置成永久忽略呢?答案肯定是有的,git的gitignore文件中可以添加文件,添加进去的文件就不会被git检测并提交到远程仓库。

  但是在项目进行中的时候添加文件进.gitignore中有时不会生效 ,修改了.gitignore文件并git push 上去之后发现并没有起作用,这种情况是因为此文件之前被检测提交过,对于已经track的文件是不起作用的,解决办法为:把先前的track的文件给清除掉,重新track。此时有两种解决方案:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1: 使用

git rm  -r  --cached . 删除所有缓存区文件

git add . 重新添加所有文件

git commit -m"update  .gitignore" 提交此次修改

  这种情况是一次修改多个文件 ,但是这种操作有可能会造成自己分支上的代码和master主分支上的代码有冲突(代码一模一样也会冲突,本人亲身经历) ,不建议使用

2:使用git rm --cached conf/config.php 删除缓存区的指定文件 ,此时git的status中会显示该文件已被删除 ,但是自己本地文件还是没变 ,把本次修改提交推送 ,此时在分支合并的时候会把该文件的删除当做修改提交上去 ,需要自己手动把冲突解决 ,不然会删除master主分支上的该文件 ,到这里就结束了,以后对该文件的操作都不会被git检测到了。

               

-------2019年七夕节,今天的天很蓝,祝大家七夕快乐

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄