GIT : 08. Git History

yeppi1802·2024년 6월 15일

❇️ 요약

  • Git Log
  • Log 개수 제한 / 생략 개수 지정
  • 변경사항 출력
  • 한줄로 출력
  • 사용자 정보로 검색 / 파일 변경사항으로 검색 / Commit Message로 검색

📖 Git Log 문법

🔆 Git Log : 저장소의 Commit 이력을 시간순으로 보여준다

  • 기록을 보고 싶은 Repository에 가서 git log 입력
git log 

# 종료
:q
commit 9b2dfa475678b412af25d93fddb8729016e3e711 # 해시코드로 이루어진 Commit ID
Author: user_name <user_eamil>                  # Commit 한 User 정보
Date:   Sat Jun 15 20:44:07 2024 +0900          # 언제 Commit을 했는지 

    rename test.txt to src/test.txt             # Commit Message 내용 

🔆 Git Log - 최근 Commit 개수 지정

git log -<개수>
git log -2

🔆 Git Log - 생략할 Commit 개수 지정

git log --skip <스킵할 개수>
git log --skip 5
  • 위에 있던 Log들이 Skip

🔆 Git Log - Commit 마다 변경내용 출력

  • Log에서 무슨 내용이 달라졌는지 확인
  • Diff 포함 출력
git log -p

# 종료
:p

🔆 Git Log - 한줄로 출력

git log --oneline
  • 개수 제한도 가능
git log --oneline -<개수>

🔆 Git Log - 사용자 정보로 검색

git log --author=<user_name OR user_email> 
  • 개수 제한도 가능
git log --author=<user_name OR user_email> -<개수>

🔆 Git Log - 파일 변경내용으로 검색

git log -S <검색어>
  • 변경사항 내용에 This를 포함한 Commit 검색

🔆 Git Log - Commit Message로 검색

git log --grep <검색어>


📖 Git Log 다양한 상황에서 테스트

☁️ Git Repository 생성

mkdir log_project

cd log_project

git init

git status 

☁️ 빈 파일 생성해서 Add

touch test.txt

git add test.txt

git status

☁️ Commit

git commit -m "initialize"

git status

☁️ 파일 수정하고 다시 Commit

cat > test.txt
one

git status

# 파일 명시 : -a를 하지 않아도 명시한 파일 한에서는 Staged 생략 가능 
git commit -m "first commit" test.txt

git status

☁️ 2번째 수정

cat >> test.txt
two

git commit -m "second commit" test.txt

git status

☁️ 3번째 수정

cat >> test.txt
three

git commit -m "third commit" test.txt

git status

☁️ Log 확인

git log

☁️ Log - 한줄로 보기

git log --oneline

☁️ Log - 최근 2개만 보기

git log -2

☁️ Log - 최근 2개를 한줄로 보기

  • 혼용 가능
git log -2 --oneline

☁️ Log - 최근 하나만 변경사항까지 보기

git log -p -1 --oneline

☁️ Log - 파일 변경 사항 검색

git log -S two --oneline -p

☁️ Log - Commit Message로 검색

git log --grep first -p

☁️ Log - 특정 사용자의 Commit 검색

git log --grep first --author=<user_name>

0개의 댓글