티스토리 뷰

개발

[Git] reset을 되돌리는 방법

곤이씨 2021. 4. 3. 21:10

 오늘도 어김없이 git에서 conflict가 발생하였고 문제를 해결하는 가장 쉽지만 무시무시한 방법인 reset을 통해 문제를 해결하고 있었다. reset --hard로 이전 커밋과 파일들을 날려버리고 보니 이게 뭐람???? 왜 있어야 할 파일이 없지????

 

 한 순간의 부주의로 인해 잘못된 커밋 로그로 리셋 해버리고 말았다. reset을 hard 옵션으로 했기 때문에 남아있는 커밋 로그와 파일들 역시 모두 날아간 절망적인 상황... 더욱이 새벽 코딩으로 인해 몸과 마음은 이미 지칠 때로 지쳐있었다.

 

 그냥 컴퓨터를 끄고 잠이나 자자라고 체념한 순간, '그래, 분명 나만 이런 실수를 한 건 아닐꺼야... 위대하신 git 개발자 분들께서 나같이 실수를 한 사람들을 구제할 방법을 마련해놓으시지 않았을까?'하는 생각이 떠올랐다.

 

역시나 위대하신 git 개발자 분들... 해답은 있었다.

 

git reflog

 

git reflog를 입력하면 다음과 같은 내용이 나온다.

 

 

여기서 우리는 커밋 로그를 보고 원하는 지점으로 돌아갈 수 있다.

 

우리의 실수를 되돌리려면 밑의 코드를 입력하자.

 

git reset --hard [되돌리고자 하는 커밋로그]

 

 

도르마루를 도르마루 해버리는 git reflog

 

 

다시 한번 Git의 위대함을 실감하며, 선배 개발자 분들의 시행착오 덕에 참 편하게 개발한다는 생각을 하게 된다.