我需要更改我的网络应用中使用的一些术语。我的git存储库中有一堆HTML文件,我想在HTML的 text 中找到所有出现的某些字符串。我不想匹配标签中的字符串,因为更改它也需要更改我的脚本。也许我会在以后更改它们以保持一致性,但是现在我只想关注UI。
假设我想用其他东西替换“评估”。给出:
<li ng-repeat="item in assessments">
<h4>Assessment {{item.title}}</h4>
</li>
我只是想知道第二行有什么东西需要改变。
答案 0 :(得分:0)
Git有一个名为textconv
的功能,可以在呈现之前对文件进行转换。通常这用于显示二进制文件的差异,但您可以使用它来转换任何内容。
html2text
。将此添加到您的~/.gitconfig
:
[diff "html"]
textconv=html2text
将此添加到存储库的.gitattributes
文件中:
*.html diff=html
使用git grep
选项运行--textconv
:
git grep --textconv -i assessment -- *.html
# * *** Assessment {{item.title}} ***
默认情况下,git grep
关闭Textconv,但默认情况下为git diff
。因此,您可能希望在完成后从.gitattributes
删除该行,否则您必须运行git diff --no-textconv
以查看对标记的更改(并制作修补程序)。