CNode

git忽略某一行

分享
Pp412726700发布于11 年前最后回复11 年前7 回复7935 浏览0 收藏

git通过.gitignore来忽略某一组或者某一个文件,但是如何忽略某一行代码嘞?

这种场景多出现在开发环境与生产环境所需的配置根据项目中config中定义的关键字来切换时遇到的麻烦。

当你在调试代码时是dev环境,发布到线上又要手动改成pro环境,甚是麻烦,所以可以这样做。

1、首先创建一个gitattributes 文件

  • /.gitattributes (会被提交到库中)

或者

  • /.git/info/attributes (不会被提交到库中)

2、添加一个过滤定义

  • config.js filter=gitignore

3、定义gitignore 过滤到gitconfig文件中

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

这样在config.js文件中某一行代码是以 //#gitignore 结尾的将不会被更改

查看回复

回复 (7)

M
magicdawn#1·11 年前

这个貌似很有用....

P
p412726700#2·11 年前
引用 magicdawn这个貌似很有用....

@magicdawn 恩恩 省了不少时间

L
lastsaga#3·11 年前

学习了

L
lastsaga#4·11 年前

学习了👍

W
wangyun122#5·11 年前

原来还能这样~

L
luicfer#6·11 年前

奇怪,为毛,我们都是dev一个配置pro一个配置 读取 NODE_ENV来决定哪个配置的。 是不是我的打开方式不对

B
booxood#7·11 年前

git"黑魔法"很赞! 但pro的配置 还是不要提交到git上比较好吧。。

参与回复
登录后即可参与回复。登录