Git 로그에서 중복 커밋 정리

Git 로그에서 중복 커밋 정리

Git 로그에서 중복된 줄을 정리하려고 합니다. 불행하게도 개발자들은 rebase 명령을 사용하지 않기 때문에 git 로그에 중복된 커밋 메시지가 많이 있습니다.

중복된 줄이 포함된 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

uniq 커밋을 얻기 위해 sort를 사용하려고 합니다.

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

이것은 잘 작동하므로 작업 번호만 표시되고 커밋 메시지는 표시되지 않습니다.

1
2
3

하지만 정규식 확장을 변경하면 --regexp=“^[TASK-]\^*.*”모든 줄이 인쇄됩니다.

중복 행을 제거하는 데 도움을 줄 수 있나요?

관련 정보