从 git 历史记录中删除多个换行符
Removing multiple newline characters from git history
我正在尝试使用 bfg repo cleaner 从代码中的多个空行(超过 4 个)中清理我的 repo。我尝试了各种正则表达式,但没有想出解决方案。我取得的最接近的结果是简单地从文件中删除所有新行。
关于如何使用 bfg 或任何其他工具执行此操作的任何想法?
您可以使用这个正则表达式:
(\r?\n){4,}
并用这个替换它
\n
- 它将接受 UNIX 和 Windows 换行符 (
\r?\n
)。
- 如果至少有 4 个行尾是连续的(每行没有空格),则匹配
- 所有连续的换行符都替换为单个 UNIX 换行符 (
\n
)
这是一个可执行的例子:
var text = document.getElementById("main").innerHTML; // read HTML because it is easier to write linebreaks in HTML
var regex = /(\r?\n){4,}/g;
var replacement = "\n";
var result = text.replace(regex, replacement);
console.log(text);
console.log(result);
<div id="main">
line1
line2
line3
</div>
我正在尝试使用 bfg repo cleaner 从代码中的多个空行(超过 4 个)中清理我的 repo。我尝试了各种正则表达式,但没有想出解决方案。我取得的最接近的结果是简单地从文件中删除所有新行。
关于如何使用 bfg 或任何其他工具执行此操作的任何想法?
您可以使用这个正则表达式:
(\r?\n){4,}
并用这个替换它
\n
- 它将接受 UNIX 和 Windows 换行符 (
\r?\n
)。 - 如果至少有 4 个行尾是连续的(每行没有空格),则匹配
- 所有连续的换行符都替换为单个 UNIX 换行符 (
\n
)
这是一个可执行的例子:
var text = document.getElementById("main").innerHTML; // read HTML because it is easier to write linebreaks in HTML
var regex = /(\r?\n){4,}/g;
var replacement = "\n";
var result = text.replace(regex, replacement);
console.log(text);
console.log(result);
<div id="main">
line1
line2
line3
</div>