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-]\^*.*”
すべての行が印刷されます。
重複行を削除するのに役立ちますか?