Git忽略规则和.gitignore规则不生效的解决办法

Git忽略规则:

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则

例如:

# 此为注释 – 将被 Git 忽略
*.txt                    # 忽略所有 .txt 结尾的文件
/TODO/              # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO/
build/                 # 忽略 build/ 目录下的所有文件
doc/*.go            # 会忽略 doc/notes.go但不包括 doc/server/arch.txt

忽略某个文件下除了某个文件的写法

/TODO/

/TODO/ *.go

解释:忽略TODO目录下除了.go 文件外的所有文件

  .gitignore规则不生效的解决办法

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

git rm -r --cached .
git add .

git commit -m 'update .gitignore'

//以上只适用于 还没有版本控制的文件了。如果是clone 下来继续开发的话,问题就有点棘手了。解决方法如下

 

有的时候,不小心提交了一个配置文件config.php,每次在本地开发测试之后,都需要更改配置文件。相当麻烦。

使用

     git update-index --assume-unchanged   /path/file 可以忽略这个修改。从而不用提交到库里面。

    字面意思很好理解   

                     assume  假设

                     unchanged 未更改。

   如果想恢复该文件,可以用

    git update-index --no-assume-unchanged /path/file  来恢复跟踪

 

总结

命令执行顺序

1、添加需要忽略的文件 到.gitignore 文件中

2、git update-index --assume-unchanged   /path/file

3、git rm -r --cached .

4、git add .

5、git commit -m 'update .gitignore'

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值