我有很多# TODO
的行供以后参考。这些都是针对个人的,我不想在进行更改时将它们与文件的其他部分一起提交。
有没有办法告诉gitignore(或git本身)不要包含任何包含# TODO
的行?
或者作为奖励…不仅仅是行,而且可能从# TODO
到行尾,如果我在同一行上有一个TODO
代码
例子:
def destroy
# TODO Alter route (Tell git to ignore this)
@comment.destroy
end
或:
def destroy
@comment.destroy # TODO Alter this line. (Tell git to ignore from '# TODO' onwards.
end
最佳答案
你可以用一个干净的过滤器。它在文件暂存之前运行。
首先,定义要使用过滤器的文件类型,并将它们放入.gitattributes
文件中:
*.rb filter=removetodo
然后,调整配置,让git知道“removetodo”过滤器在clean上应该做什么:
git config filter.removetodo.clean "sed '/TODO/d'"
sed命令取自Delete lines in a text file that containing a specific string
然后,当您添加git时,git将从.rb文件中无声地删除包含单词todo的每一行,而不会影响您的工作区。
缺点是,如果不小心合并到任何涉及这些文件的更改中,您将丢失所有的待办事项。
关于git - 如何告诉.gitignore(或git本身)忽略包含#TODO的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40794149/