Git은 버전 관리 시스템으로, 소스 코드의 변경 이력을 기록하고 관리하는 데 유용합니다.
커밋 히스토리는 코드 변경의 연대기적 기록을 제공하며, 개발 과정에서 문제를 추적하고 이해하는 데 필수적인 요소입니다.
이 글에서는 Git에서 커밋 히스토리를 보는 다양한 방법을 소개하고, 각 방법의 사용 사례와 장점을 설명하겠습니다.
1. git log: 기본 커밋 히스토리 보기
기본 사용법
git log는 가장 일반적으로 사용하는 커밋 히스토리 명령어입니다. 기본적으로 최신 커밋부터 과거 커밋까지 순차적으로 보여줍니다.
git log
주요 옵션
- --oneline: 각 커밋을 한 줄로 요약해서 보여줍니다.
git log --oneline
- --graph: 커밋의 브랜치와 병합 이력을 시각적으로 나타냅니다.
git log --graph
- --decorate: 브랜치와 태그 정보를 커밋 로그에 추가합니다.
git log --decorate
- --pretty=format:"%h - %an, %ar : %s": 로그 출력 형식을 사용자 정의합니다.
git log --pretty=format:"%h - %an, %ar : %s"
예시
git log --oneline --graph --decorate
이 명령어는 커밋 메시지를 간결하게 보여주고, 브랜치와 태그 정보를 함께 시각적으로 나타냅니다.
2. gitk: GUI를 통한 커밋 히스토리 보기
gitk는 Git의 그래픽 사용자 인터페이스(GUI) 도구로, 커밋 히스토리를 시각적으로 탐색할 수 있습니다. 커밋, 브랜치, 태그 및 변경 사항을 시각적으로 한눈에 볼 수 있어 편리합니다.
실행 방법
gitk
이 명령어를 실행하면 Gitk GUI가 열리며, 커밋 히스토리를 시각적으로 탐색할 수 있습니다.
3. git log와 grep 조합: 특정 커밋 검색
특정 커밋 메시지나 작성자를 검색하려면 git log와 grep을 조합할 수 있습니다.
사용법
- 커밋 메시지 검색
git log --grep="검색할 메시지"
- 작성자 검색
git log --author="작성자 이름"
예시
git log --grep="fix bug"
이 명령어는 커밋 메시지에 "fix bug"가 포함된 커밋만을 보여줍니다.
4. git log의 날짜 및 범위 옵션
특정 날짜 범위 또는 기간에 따른 커밋을 필터링하려면 --since와 --until 옵션을 사용할 수 있습니다.
사용법
- 날짜 범위 필터링
git log --since="2024-01-01" --until="2024-09-01"
- 최근 X일의 커밋 보기
git log --since="2 weeks ago"
예시
git log --since="2024-08-01" --until="2024-09-01"
이 명령어는 2024년 8월 1일부터 9월 1일 사이의 커밋만을 표시합니다.
5. git log의 출력 형식 사용자 정의
출력 형식을 사용자 정의하여 필요한 정보만 선택적으로 표시할 수 있습니다.
사용자 정의 형식 예시
- 커밋 해시와 메시지만 보기
git log --pretty=format:"%h - %s"
- 날짜와 커밋 메시지 보기
git log --pretty=format:"%ad - %s" --date=short
예시
git log --pretty=format:"%h - %an, %ar : %s" --date=short
이 명령어는 커밋 해시, 작성자, 상대적 시간, 메시지를 짧은 날짜 형식으로 보여줍니다.
6. tig: 터미널 기반 Git UI 도구
tig는 터미널 기반의 Git UI 도구로, 커밋 히스토리를 탐색하고 필터링할 수 있습니다. Git을 보다 직관적으로 사용할 수 있도록 도와줍니다.
설치 및 사용법
- 설치: 대부분의 패키지 관리 시스템에서 설치할 수 있습니다.
sudo apt-get install tig
- 실행
tig
tig는 Git 커밋을 시각적으로 탐색하고, 브랜치와 태그를 관리하는 데 유용합니다.
7. git log와 diff 조합: 변경 내용 비교
커밋 로그와 함께 변경된 파일의 내용을 비교하여 어떤 변경이 있었는지 확인할 수 있습니다.
사용법
- 커밋 간의 차이 보기
git log -p
- 특정 커밋과 현재 상태 비교
git diff <커밋 ID>
예시
git log -p
이 명령어는 각 커밋의 변경된 내용을 함께 보여줍니다.
Git에서 커밋 히스토리를 보는 다양한 방법을 통해, 개발자는 코드의 변경 이력을 보다 효율적으로 탐색하고 이해할 수 있습니다.
git log를 활용한 기본적인 커밋 히스토리 조회부터 gitk와 tig와 같은 시각적 도구, grep을 사용한 검색, 그리고 출력 형식의 사용자 정의까지 다양한 방법을 익히면 Git을 더욱 효과적으로 사용할 수 있습니다.
구독!! 공감과 댓글은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
'Program Development Tips > Git' 카테고리의 다른 글
[Git] 깔끔한 커밋 히스토리를 원할 땐 git rebase 대신 git merge (0) | 2024.09.03 |
---|---|
[Git] Sourcetree: Git과 Mercurial을 위한 강력한 GUI 클라이언트 (2) | 2024.09.03 |
[Git] Git Reset 후 돌아오는 방법: 안전하게 작업을 복구하는 가이드 (0) | 2024.09.03 |
[Git] Gitmoji: 커밋 메시지를 더욱 직관적으로 만드는 이모지의 힘 (2) | 2024.08.30 |
[Git] 여러 커밋을 취소하는 방법: 효율적인 코드 관리 (0) | 2024.08.27 |