2012-06-15 75 views
2

作为前端开发人员,我经常添加代码来隐藏后端开发人员的错误消息;)git可以忽略特定的注释调试代码吗?

有没有办法让git忽略以某种方式评论的代码?例如

.error { display:none; } // DEBUG-GIT-PLEASE-IGNORE 

或者有人为此写了一个插件?

+0

看起来像git钩子的常见用例,它完全拒绝提交调试代码。 – KingCrunch

+0

http://stackoverflow.com/questions/6557467/can-git-ignore-a-specific-line – vergenzt

+0

@vergenzt“最好有一个配置文件每个部署目标和一些运行时参数,但无论您是启动服务器” - - 我读过这篇文章,但不知道它是什么意思或如何去做! –

回答

3

您可以创建一个干净的filter,其中包含所有包含DEBUG-GIT-PLEASE-IGNORE的行。

但更简洁的方法是更改​​Web应用程序,以便可以在Web主机上配置此行为。

+0

感谢Rudi。似乎你可以通过@ [KingCrunch](http://stackoverflow.com/users/)通过[hooks]忽略整个文件(http://git-scm.com/book/en/Customizing-Git-Git-Hooks) 421223/kingcrunch)(在这种情况下必须在提交时删除调试代码),或者您可以使用[filter](https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html)放下所有的调试线。 但为什么第二种方法被认为是“不洁”? –

+0

主要问题是,在存储库中的代码与工作副本中的代码不同。这可能导致微妙的错误。假设有两行语句,第一行是实际代码,第二行是调试代码。使用干净的过滤器时,两个语句都将被删除,在没有想要的语句的情况下在回购中留下文件。 – Rudi

0

基本上没有。 Git目前没有办法忽略文件​​的特定部分,只有整个文件。

但是,人们可能会编写脚本来修改git diff的输出,并将git配置为使用该脚本。我不确定这将是多么有效,因为我不认为git使用diff来登台文件,但它可能是值得研究的。