Git reflog

배추·2025년 4월 2일

생활코딩-Git

목록 보기
3/6

git의 reflog에 대해 알아봅니다.


▶실패하기 이전으로 돌아가는 방법

1) .git 디렉토리가 포함된 프로젝트 폴더 복사

  • Git은 모든 작업 이력을 .git 폴더에 저장한다.
  • 위험한 작업을 하기 전 프로젝트 폴더(.git 디렉토리가 포함되어 있는)를 복사해 백업해두기.
  • 실패 시 실패한 원본 폴더는 버리고, 복사본을 다시 가져오기.

2) commit id

  • 위험한 작업을 하기 전, 현재 commit id를 기억해 두기.
  • git reset --hard 기억해둔commitid 명령어로 이전 커밋으로 이동하기.
    • reset: 특정 버전으로 돌아감.

3) reflog

  • reflog는 Git 작업 이력을 추적하는 디버깅 도구.
  • commit id를 기억하지 못했더라도 reflog로 확인 가능.

▶🌟reflog 사용하기

  • 명령어
    • git reflog: 전체 작업 이력을 확인.
    • git reflog 브랜치명: 특정 브랜치의 reflog 확인.
  • reflog는 HEAD가 지나간 모든 이력(커밋, 브랜치 이동, reset 등)을 보여준다.
  • 각 기록은 HEAD@{n} 형식으로 표시된다.
    • HEAD@{0}: HEAD가 방금 한 일. 현재 상태.
    • HEAD@{1}: HEAD가 직전에 한 일.
    • 숫자가 커지면 더 과거.
  • git reset --hard HEAD@{숫자}: commit id 대신에 HEAD@{n}으로도 원하는 버전으로 돌아갈 수 있다.
    • 🌟🌟🌟내가 마지막으로 한 작업 직전으로 되돌리기 = git reset --hard HEAD@{1}🌟🌟🌟

+) 단축 명령어 설정 Alias

  • git config --global alias.undo "reset --hard HEAD@{1}" 를 통해 단축 명령어를 생성하면,
  • git undo 만 입력하여 간단히 사용 가능.
profile
난 🥬

0개의 댓글