Physicist, Programmer. What you eat, how you think, and most importantly what you have done become who you are. Who are you? and who will you be?
[IT/Programming]
Git/GitHub commit description 에서 특정 단어들 찾는 방법
kipid2025. 3. 8. 14:24
반응형
# Git/GitHub commit description 에서 특정 단어들 찾는 방법
요약
```
OR 검색: git log --grep="단어1" --grep="단어2".
AND 검색: git log --all-match --grep="단어1" --grep="단어2".
정규 표현식: git log --grep="단어1|단어2" -E.
```/
어떤 단어를 검색하고 싶은지, OR/AND 중 어떤 조건을 원하는지에 따라 골라 쓰면 됨.
## PH
2025-03-08 : First posting.
## TOR
## 여러 --grep 옵션 사용
```
git log --grep="fix" --grep="update" --grep="add"
```/
커밋 메시지에 "fix", "update", "add" 중 하나라도 포함된 커밋을 표시.
## AND 조건으로 검색 (모두 포함)
```
git log --all-match --grep="fix" --grep="bug" --grep="test"
```/
커밋 메시지에 "fix"와 "bug"와 "test"가 모두 포함된 커밋만 표시.
주의: 단어 순서나 위치는 상관없음.
대소문자 구분은 기본적으로 함. 무시하려면 --grep에 -i 추가
## 정규 표현식 사용 (-E 또는 -F)
하나의 --grep에 정규 표현식을 사용해 여러 단어를 검색할 수 있습니다. -E (확장 정규 표현식) 옵션을 사용하면 더 유연하게 패턴을 정의할 수 있습니다.
```
git log --grep="단어1|단어2|단어3" -E
git log --grep="단어1.*단어2" -E
// "단어1"과 "단어2"가 순서대로 포함된 경우.
```/
## 대소문자 무시 검색
```
git log --grep="fix" --grep="Update" -i --all-match
```/
"fix"와 "Update"를 대소문자 구분 없이 검색.
## 추가 팁
```
// 특정 브랜치 제한
git log 브랜치명 --grep="단어1" --grep="단어2"
// 날짜 범위
git log --since="2025-01-01" --until="2025-03-08" --grep="fix" --grep="update"
// 커밋 해시(%h)와 메시지(%s)만 표시.
git log --grep="fix" --grep="update" --pretty=format:"%h - %s"
```/
## RRA