Git:如何防止提交仅为调试目的而修改的文件?

thi*_*ien 6 git perforce

很多时候,我喜欢修改一些代码行以使调试更容易,但我实际上并不想提交它们.例如,我会通过注释掉一些代码行来禁用一些烦人的功能(比如广告),或者我会将日志级别和过滤器设置为仅我关注的那些,或者我会强制条件为真只是因为我想要运行的代码块实际上一直在运行.

在Perforce中,我会为这些文件创建一个"更改列表",并将其标记为"DO NOT COMMIT!".在Git中,这相当于什么?分支不起作用,因为这些仅调试修改需要与我正在进行的其他更改一起存在.

pat*_*yts 5

查找--assume-unchanged选项.有一篇关于此的博客文章很好地解释了这一点.还有一个提到稍后会发现这些被忽略的文件.


thi*_*ien 3

感谢大家的回答。我最终做的是在 git 中编写一个预提交挂钩,用于检查每个文件中的字符串“dont commit”(以及其他变体)。如果是这样,那么提交就会失败,我必须在提交之前编辑这些行。这是因为调试代码应按行而不是按文件进行处理,因为某些文件既有调试更改又有要提交的实际更改。(我的旧解决方案 perforce 没有解决这个问题)。