git ignore 某行

本文介绍了如何在Git中配置忽略特定行,如以'//#gitignore'结尾的行。通过创建.gitattributes文件指定过滤器lineignore,并在.gitconfig文件中定义clean和smudge操作,实现提交前删除特定行并拉取后不做任何改动,确保配置文件的独立性。
摘要由CSDN通过智能技术生成

在项目开发中, 有些配置文件中的配置是因为机器会不一样的, 比较配置文件中的IP地址或数据库地址, 这时我们希望每个项目保持这些配置而不相互覆盖.

这里我们希望在*.ini文件中所有以//#gitignore结尾的行保持不变

首先我们在项目中建立一个.gitattributes文件, 里面写上*.ini filter=lineignore

这句的意思在所有*.ini加上一个过滤器, 过滤器的名字叫lineignore

然后我们建立一个.gitconfig文件, 里面写上

git config --global filter.lineignore.clean "sed '/\/\/#gitignore$/d'"
git config --global filter.lineignore.smudge cat

第一句的意思在提交前上做sed的删除操作d, 删除的条件是//#gitignore结尾. 这一来删除过后就不会提交了

忘了sed命令的, 可以去https://www.runoob.com/linux/linux-comm-sed.html补下

第二句的意思在拉取后做cat操作, 基本上就是空操作. (注意在其他场景可能会用到sed的替换功能, 具体请参考https://yaowenjie.github.io/%E7%BC%96%E7%A8%8B%E7%9B%B8%E5%85%B3/gitignore-specific-line)

这样所有以//#gitignore结尾的行中所有的改动在stage后, 都会在提交前被删掉, 也就是不提交, 达到ignore的目的.

注意,如果在smartgit中改变以//#gitignore结尾的行stage后, 改变还在的话说明配置没有成功, 尝试手动在命令行执行.gitconfig中的内容

参考链接:https://blog.csdn.net/Bekind2010/article/details/80024235

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值