커밋로그의 연간 자료가 필요하게 되어 찾아보던 중 파일로 export 하는 방법을 찾게 되어 기록합니다.
git bash를 이용하여 커밋로그의 내역을 파일 다운로드 해보겠습니다.
1. git bash에서 프로젝트 폴더로 이동합니다.
2. git log 명령어로 파일 내보내기 방법 확인
명령어로 파일 내보내기의 옵션이 다양합니다.
옵션을 확인하는 여러가지 방법도 확인해 보았습니다.
git Documentation
※ git log Documentation (https://www.git-scm.com/docs/git-log/2.27.0)
git log -help
git log --help
(해당 커맨드를 입력하면 기본설정 브라우저에서 html 파일이 열립니다.)
3. git log 명령어로 파일 내보내기
git log --all --after="2021-01-01" --date=format:'%Y-%m-%d %T' --pretty=format:%an,%ad,%s > ./log-history.csv
프로젝트 폴더 위치에 파일이 생성되었습니다.
내용을 한번 확인해 볼까요.
먼저 파일탐색기에서 해당 프로젝트 폴더에 만들어진 파일은 확인하였습니다.
다음은 csv 파일의 내용 입니다.
엑셀로 파일을 열어 보았더니 한글이 다 깨집니다.😱
파일의 인코딩을 한번 확인해 봅시다.
메모장에 csv 파일을 열어보면 구분자는 ","으로 메모장에서는 한글 깨짐없이 잘 보입니다.
인코딩을 확인해보니 UTF-8이라고 하네요.
엑셀에서 UTF-8의 한글내용을 확인 할 수 있는 방법도 많이 있습니다.
저는 Notepad ++을 이용해서 파일을 열고
구분자 ","를 탭(Tab)으로 치환해서 엑셀파일에 붙여넣기 하는 방식을 사용했습니다.
바꾸기 한 내용을 엑셀에 붙여봅니다.
커밋로그의 설명 부분에 구분자 ","가 포함 되어 있을 경우 탭으로 치환되었을 겁니다.
그래서 설명부분을 엑셀의 함수(CONCAT)를이용하여 문자열을 이어주었습니다.
엑셀파일로 생성 완료 !!
내보기한 파일은 GIT의 커밋로그 백업용도로 사용 할 수 있을 것 같습니다.
하나의 프로젝트의 커밋로그 전체를 엑셀파일로 확인 해보니 내용 파악이 잘 되는 느낌적인 느낌이었습니다.🤣
커밋단위를 더 세분화하고 커밋설명을 더 상세히 담아야 겠다는 생각이 들었습니다.
오늘도 한가지 배웠습니다~
'IT' 카테고리의 다른 글
[Spring Boot] Propertise(속성 파일) - DB 비밀번호 암호화 / jasypt(Java Simplified Encryption) 라이브러리 (0) | 2024.01.30 |
---|---|
[JAVA] 마스킹 처리 하기 (21) | 2023.07.21 |
[MariaDB] Scheduling DB backup / mysqldump / crontab (0) | 2023.02.01 |
[Spring] Rest Template - post file type (0) | 2023.01.27 |
[Java] Jackson ObjectMapper - @JsonRootName 사용 (0) | 2023.01.03 |