从 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>