git忽略某个文件的某行代码(利用git filter解决前端合作开发时vue.config.js中target频繁更改导致冲突的问题)

通过设置gitfilter,避免在合作开发Vue项目时因vue.config.js中target频繁更改造成的提交冲突。在命令行配置gitfilter,创建.gitattributes文件并启用过滤功能,然后在目标代码段前加入特殊注释,使git在提交时忽略该段代码,确保只有本地保留target的切换记录。

场景

git忽略某个文件的某行代码
解决前端合作开发时vue.config.js中target频繁更改导致冲突的问题

在使用vue cli创建的项目中,合作开发时可能跟不同的后端同事进行联调,导致提交代码时误提交vue.config.js中target的变动,造成其他同事拉取代码出现冲突的现象,此时按照以下步骤,利用git filter可以解决此类问题

1. 在命令行中分别运行以下两行代码,对git filter进行设置

git config --global filter.gitignore.clean "sed '/\/\/#gitignoreline_start/,/\/\/#gitignoreline_end/{/\/\/#gitignoreline_start/b;/\/\/#gitignoreline_end/b;d}'"
git config --global filter.gitignore.smudge cat  

提示:

  • 如果不想设置全局可以将global改为local, 但每次新仓库都需要重新设置。
  • filter的名字gitignore可以换为自己想要的名字,但步骤2中的gitignore需要对应上
  • 可以输入git config --global --list检查或者如下代码检查是否设置成功
git config --get filter.gitignore.clean
git config --get filter.gitignore.smudge

出现以下内容即表示git filter设置成功
在这里插入图片描述

2. 项目git仓库根目录添加.gitattributes文件,并添加以下内容,开启vue.config.js文件中的git filter功能

vue.config.js filter=gitignore

3. 使用,在//#gitignoreline_start//#gitignoreline_start之间放需要Git进行忽略的代码

proxy: {
  '/dev-api': {
    target: 'http://10.114.14.65:8080', // 默认dev环境的地址,不要注释,两个target会进行属性覆盖,后者将会生效
    // target: 'http://192.168.1.137:8080',  // 同事A的后台
    // target: 'http://192.168.1.220:8080', // 同事B的后台
    // target:'http://127.0.0.1:8080', // 本机启动的后台

    // 在gitignoreline_start和gitignoreline_end之间的代码在提交时将会被过滤删除

    //#gitignoreline_start
    target: 'http://192.168.1.137:8080', // 生效的target提交时git将会删除两者间的代码
    //#gitignoreline_end
    changeOrigin: true,
    pathRewrite: {
      '^/dev-api': '',
    },
  }
}
  • 至此,target切换的问题就已经解决完毕。
  • 合作开发时,vue.config.js文件中在//#gitignoreline_start//#gitignoreline_start之间的代码在提交时将进行删除操作从而获得隐身的超能力
  • 两者间的变动将不会被提交git仓库中,而本地仓库这两者间的target却存在
  • 本文方法不局限于vue.config.js,可以有更广泛的使用场景

本文原创,转载请标注本文地址 https://blog.csdn.net/qq_33691002/article/details/115394097

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hubary

感谢老板的打赏,万分感谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值