在git的功能里有一项是忽略部分文件,其中常用的就是在.gitignore
文件中进行修改,例如:
# 忽略vendor文件夹
vendor/
# 忽略后缀为.log的日志文件
*.log
# 忽略.env文件
.env
# 忽略.idea/目录
.idea/
# 忽略.classpath文件
.classpath
这样本地对应的文件或目录就不再进入版本库,能够忽略本地的工作环境。
不过有时候会有这种需求,忽略已追踪文件的改动
例如,工程里已经有了config.json
,并且已经放到版本库,这时候我想修改下config.json
让其适配自己的环境(比如设置连自己的测试数据库),但是又不想不小心push到远程仓库。
这个时候使用.gitignore
设置是不起作用的。
查阅文档,发现有办法解决,如下:
本地修改不提交到远程仓库
git update-index --assume-unchanged config.json
取消本地忽略
git update-index --no-assume-unchanged config.json
查看本地仓库哪些文件被加入忽略列表
git ls-files -v
优点:本地命令,设置不会提交到remote,只需设置一次即可。
缺点:不支持正则表达式,也不支持文件夹,只支持单个文件的添加。
实测有效。
出处:www.l1mn.com
原文标题:git忽略已经跟踪文件的改动
原文地址:https://www.l1mn.com/p/6dbxo3.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
Copyright © L1MN.COM 联系方式:l1mnfw@163.com