Development/Etc

[Git] 나는 이번 프로젝트에서 몇 번의 커밋을 했을까?

bbubbush 2023. 4. 4. 16:07

들어가며

총 10개월가량의 프로젝트가 오픈을 앞두고 근래 4달은 야근 없는 날이 없을 정도로 바쁘게 달려왔다. 평소에 우스개 소리로 "이번 프로젝트에서 천 번은 커밋한 거 같아"라고 이야기했는데 실제로 몇 번이나 했는지 문득 궁금해졌다. 

 

그래서 저장소에 내가 커밋한 횟수를 알아내는 방법을 찾아보았다.

 

방법

빠르게 결론이 필요한 분들을 위해 결과부터 공개한다.

 git log --oneline --no-merges --author bbubbush | wc -l

 

하나씩 과정을 설명하면 git에는 커밋 내용을 확인할 수 있는 log 명령어를 제공한다. log에는 몇 가지 옵션이 있는데 그 중 커밋 메시지를 한 줄로 표시하는 '--oneline'과  커밋의 작성자를 필터링하는 '--author'가 있다. 두가지 옵션을 활용하여 원하는 결과를 찾고자 한다.

 

먼저 내가 작성한 커밋 메세지를 한 줄로 표시하는 명령어다. author를 잘못 입력하면 결괏값이 없는 것을 확인할 수 있다.

author를 잘 입력한 경우와 잘못입력한 경우 결과 차이

 

다음으로는 Merge 커밋을 제외하려고 한다. Merge commit은 내가 작업한 결과물이 아니기 때문에 커밋한 횟수를 구할 때 허수가 될 수 있다. grep의 -v 명령어를 사용하여 Merge 메시지가 있는 결과는 제외했다.

 

log의 옵션 중 merge commit을 제외하는 "--no-merges" 가 있다. grep 명령어 대신 이 옵션을 사용하도록 수정했다.

Merge 커밋은 제외

 

끝으로 총 라인의 수를 구하면 내가 얼마만큼 커밋했는지 알 수 있다. 라인의 수는 wc 명령어의 -l 옵션을 사용했다.

총 커밋한 갯수

 

마치며

이번 프로젝트에서 확인해 보니 1450여 번의 커밋을 했다. 평소에 작은 단위로 커밋하려고 했지만 그걸 감안해도 쓸데없이 많은 것이 아닐까 생각이 든다.

 

최근에 우형의 git flow와 관련된 포스팅을 봤는데 feature branch에서 작업된 내용은 최종 커밋만 남기고 rebase 시켜 이력을 깔끔하게 관리하던 내용을 봤었다. 나도 이 방식을 적용해 봐야겠다는 생각이 들었다.

 

결론: 과유불급