git 文件忽略

平时积累了一些git使用方面的资料,文件忽略方面一直没有深入研究,这次花了点时间整理了一下另起一文

方案一: .gitignore

.gitignore会被提交到远程,并对所有用户有效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

//更新 .gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
    更新 .gitignore 可以解决 “文件已经被纳入了版本”的情况

 

方案二: assume-unchanged
    git update-index --assume-unchanged PATH    在PATH处输入要忽略的文件。
    git update-index --no-assume-unchanged PATH 解除忽略

此方法对“已经被纳入了版本”的文件同样有效

这种方法只对本地用户有效,即本地修改文件不会被提交 但远程有更新会pull下来

这里的PATH貌似只能是文件不能是目录

当指定PATH为目录时:

如:git update-index --assume-unchanged ./

提示:Ignoring path xxx/xxx/xxx  但没有效果

可以使用通配符(*),但是如果目录中含有子目录则会报错:

Unable to mark file xxx/xxx/xxx

解决办法:

利用 git ls-files 命令 和 管道符 | 忽略当前目录下所有文件:

git ls-files -z | xargs -0 git update-index --assume-unchanged

当然这样也只是将已有的文件纳入忽略,对新文件没有效果(需要再次执行该命令或结合下面的方法)

 

方案三: .git/info/exclude

同样只对本地当前用户有效,可设置目录,设置方法和 .gitignore 相同

和 .gitignore一样只对未跟踪的文件有效

 

_____________________________________________________________________

    
//提交忽略的文件
git add -f <path>
    

转载于:https://my.oschina.net/u/2399303/blog/863483

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值