Git 日志中重复提交的清理

Git 日志中重复提交的清理

我正在尝试清理 git 日志中的重复行。不幸的是,开发人员不使用 rebase 命令,因此 git log 中存在许多重复的提交信息。

包含重复行的 Git 日志

TASK-1: awe
TASK-1 : aaa
TASK-1: aaa bbbb   
TASK-2: aaaaa
TASK-3: 123
TASK-3 : 123 aaa 

我需要保留第一行的任务编号,并将所有其他行从 git log 中删除,并使用相同的任务编号

预期结果

TASK-1: awe
TASK-2: aaaaa   
TASK-3: 123

我尝试使用 sort 来获取 uniq 提交

git log --pretty=format:"%s  " --no-merges | grep -oP --regexp="TASK-\K\d+" | sort -r | uniq

这个工作正常,所以我只得到任务编号,而没有提交消息。

1
2
3

但是当我将正则表达式扩展更改为--regexp=“^[TASK-]\^*.*”它时,它会打印所有行。

有人可以帮我删除重复的行吗

相关内容