본문 바로가기

Etc

[Git] 삭제된 브랜치 복구하기

728x90

Git을 사용하다보면 실수로 브랜치를 삭제하는 경우가 발생하기도 한다. 

바로 오늘의 나처럼..

 

일하다가 실수로 머지도 안한 브랜치를 삭제해버렸다.

진짜 순간 너무 놀라서 멍때리다가 복구해야겠다는 생각에 폭풍구글검색하고 겨우 복구했다.

이 기억을 잊지 않기 위해 블로그에 남긴다. 


 

나의 경우 로컬에서 브랜치를 삭제했기 때문에 Remote에 해당 기록이 남아있어 복구가 가능했다.

1. 삭제된 브랜치의 마지막 commit 찾기 

git reflog

 

우선 로컬에서 삭제된 브런치의 마지막 커밋을 찾아야 한다. 

git은 reflog라는 기능을 제공하는데, 이는 Git에서 수행한 최근 활동의 로그를 보여준다.

 

 

해당 명령어를 사용하면 이런 로그가 뜰 것이다. 

여기서 삭제된 브런치의 마지막 커밋을 찾아 해당 커밋 ID를 기억해준다.

 

 

 2. 브랜치 복구

git checkout -b [branchName] [commitId]

 

이제 git checkout 명령어를 통해 해당 브랜치로 이동해주면 된다. 

그럼 삭제된 브랜치가 복구될 것이다. 

 

git checkout -b recovered-branch a1b2c3d

 

예를 들어, 삭제된 브랜치의 마지막 커밋 ID가 a1b2c3d이고,

복구할 브랜치의 이름이 recovered-branch라면 이렇게 입력하면 된다.

728x90