我有很多# 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/

10-13 07:27