zoukankan      html  css  js  c++  java
  • git提交时忽略指定文件

    git提交时忽略指定文件

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

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

    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年七夕节,今天的天很蓝,祝大家七夕快乐

  • 相关阅读:
    关于命题“网络规划中一个VLAN要对应一个网段”的证明
    详谈为何两台主机网络掩码不一致可能导致ping不通
    为什么电脑的ip地址要和网关的ip同一个子网才可以上网?
    快速理解VirtualBox的四种网络连接方式(最详细)
    Ubuntu 16.04下安装OpenStack(juno)之add the compute service报错分析
    Ubuntu 16.04下安装OpenStack(juno) 之add the image service报错分析
    曲线
    Best Cow Fences
    愤怒的牛
    斐波那契数
  • 原文地址:https://www.cnblogs.com/qqayy/p/11317087.html
Copyright © 2011-2022 走看看