728x90
git reflog
git reflog는 Git의 명령어 중 하나로, 현재 저장소에서 발생한 모든 HEAD와 브랜치의 변경 이력을 보여주는 도구입니다. reflog는 reference log의 줄임말로, Git이 HEAD와 브랜치의 위치를 가리키는 포인터인 reference의 변경 이력을 기록합니다. 이는 다음과 같은 경우에 유용하게 사용될 수 있습니다:
- 실수로 삭제한 브랜치 복구:
- 브랜치를 삭제한 후에도 git reflog를 통해 삭제한 브랜치의 이전 위치를 확인하고 복구할 수 있습니다.
- 리베이스나 변경 기록 확인:
- 리베이스, 병합 등의 작업 중에 발생한 이벤트들을 확인하고, 필요한 경우 이전 상태로 되돌아갈 수 있습니다.
- 실수로 되돌리거나 잘못된 작업 취소:
- git reset이나 git rebase와 같은 명령을 잘못 사용했을 때, git reflog를 통해 이전의 작업 상태로 돌아갈 수 있습니다.
git reflog
이 명령어는 HEAD와 각 브랜치가 가리키는 위치의 변경 이력을 역순으로 출력합니다. 각 항목은 다음과 같은 정보를 포함합니다:
- 해시 값(Commit Hash): 커밋의 해시 값입니다.
- HEAD@{번호}: HEAD가 가리키는 위치의 상대적인 참조입니다. 예를 들어, HEAD@{0}은 가장 최근의 위치를 나타내며, HEAD@{1}은 그 이전의 위치를 나타냅니다.
- 작업 내용: 수행된 작업(커밋, 브랜치 이동 등)에 대한 설명이 포함될 수 있습니다.
위 로그를 보면 rebase를 한 이력이 보인다 그 이력을 찾아서
git reset --hard HEAD@{4}
를 통해서 reset을 진행하면 된다
'Git' 카테고리의 다른 글
rebase로 Commit 병합하기 (1) | 2023.12.18 |
---|---|
git 설치 (0) | 2023.12.15 |
Git init (0) | 2023.12.15 |