Search
Duplicate
🥌

작업 중 실수로 날려버린 commit 되살리기!

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
git
Scrap
태그
9 more properties

Git 시리즈

목표

local에서 작업했던 내역을 commit 한 뒤에, remote로 push하지 않았을 때, `git reset —hard` 로 날려버린 뼈아픈 경험을 토대로 작성합니다.
대부분 `git reset —hard` 를 무분별하게 사용할 때 발생하는 문제 같습니다.
파일을 업로드한 “Initial commit” revision만 존재
Add: test.c 을 커밋함
git reset —hard로 해당 Revision을 날림
파일도 삭제되어있고, git log 로 확인했을 때, revision이 보이지 않는다. 이때 vscode 텍스트 에디터에서 test.c 파일을 닫지 않았다면 저장하기로 되살릴 순 있죠

여기서 핵심 git reflog 를 쳐보면 내역이 남아있다. (.git 어딘가에 내역이 있습니다.)

git reflog를 치면 삭제했던 revision의 hash number가 보인다
git checkout cb8bae1 을 통해서 되살릴 수 있다.

참고로, reflog ⇒ Reference + logs