게시글

강좌10 - Git - 4달 전 등록

git 커밋, 브랜치 복구하기

git을 사용해서 실무를 진행하다보면 커밋을 했다가 다시 취소하고, 브랜치를 만들었다가 다시 지우는 일이 빈번하게 발생합니다. 아무래도 프로그램을 만들 때 기획이 오락가락하는 경우가 많기 때문이죠. 웬만하면 한 번 커밋한 것은 어떤 식으로도 남겨두는 것이 정신 건강에 좋지만 깔끔하게 관리하고싶어서 큰 맘 먹고 지웠다고 칩시다. 그런데 갑자기 기획자가 다시 와서 방금 지웠던 기능을 다시 추가해달라고 하면요...?

마음만 같아서는 기획자의 멱살을 잡고 싶지만 다행히 git에는 복구 기능이 있습니다(이 기능을 모른다면 진짜 멱살을 잡으셨겠죠?) git reflog입니다.

gif reflog // 또는
git reflog show <브랜치 이름>

를 입력하면 내가 커밋한 내역들(삭제된 것 포함)이 쭉 나옵니다.

git reset --hard <커밋 아이디>

해서 복구하면 됩니다. 다만, reset --hard이므로 반대로 현재 커밋이 날아가지 않게 다른 브랜치로 빼놓거나 하세요. 제발 파괴적인 동작을 수행하기 전에는 백업하는 습관을 들입시다.

지운 브랜치도 복구할 수 있습니다.' git reflog 해보면 다음과 같은 메시지가 보일 겁니다.

Deleted branch <브랜치 이름> (was <커밋 아이디>)

이를 보고 다음 명령어로 복구하면 됩니다.

git checkout -b <브랜치 이름> <커밋 아이디>
조회수:
0
목록
투표로 게시글에 관해 피드백을 해주시면 게시글 수정 시 반영됩니다. 오류가 있다면 어떤 부분에 오류가 있는지도 알려주세요! 잘못된 정보가 퍼져나가지 않도록 도와주세요.
Copyright 2016- . 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.

댓글

아직 댓글이 없습니다.