(실은 이 글은 몇 개월 전에 올릴 글이었지만, 이제서야 올린다. 업무가 쏟아져 내려와..)
Git을 이용하여 작업을 하다 보면 실수나 명령어를 잘못 치거나 등 다양한 이유로 커밋들을 날려버린 경우가 있을 텐데, 그대로 코드들과 작별 인사를 하기에는 아쉬우니 다시 코드를 만나러 가자!
Git 터미널을 실행시켜 잃어버린 Commit을 만날 준비를 하자!

git 터미널에서 git reflog 커밋 내역을 확인하자!
grep 명령어를 추가로 이용하면 원하는 커밋 찾을 수 있다.
Ex.) feat가 들어간 커밋을 찾고자 한다면 다음과 같다.
git reflog | grep feat

git reset --hard [commitID] 명령어를 이용하여 Commit을 복구하자!
* 그 외 git reset --hard HEAD@[n] 명령어와 이전 커밋으로 되돌리는 git reset --hard ORIG_HEAD 명령어를 사용하여 복구할 수 있다.
git checkout은 Git에서 다양한 작업을 수행하는 명령어인데, 주로 브랜치를 전환하거나 커밋 체크아웃 또는 파일 복원에 사용된다.
이 둘의 차이가 궁금할텐데 간단히 하자면
git checkout은 주로 작업 디렉토리, 스테이징 영역 및 브랜치를 변경하는데 사용되고
git reset은 주로 커밋과 브랜치의 HEAD를 조작하는데 사용한다.
나의 케이스는 그냥 완전 날려먹은 케이스로 코드를 다시 작성했었던 기억이 있다. 😂😂😂
그래도 내가 작성했던 코드이여서 인지 어려움은 없었지만 다시 코드를 작성하는 과정에서, 이전에는 내가 파악하지 못한 이슈를 발견하게 되었다.
Commit을 날려서 좋은 사례가 된 일 일지도?