협업을 하다가 main 혹은 작업 중인 브랜치를 잘못 건드려서 이전 커밋 내역들을 날렸을 때
이미 머지한 Pull Request(closed PR)를 통해서 커밋을 복구할 수 있는 방법을 알게 되어 공유합니다.
GitHub CLI의 기능으로 해당 PR의 브랜치로 checkout 할 수 있는데,
우선 없다면 아래 링크에서 설치해 줍니다.
Github CLI 설치
커밋 복구 방법
복구하려는 커밋이 포함된 PR에 들어간 뒤 우상단 code 버튼을 눌러 gh pr checkout PR번호
를 복사합니다.
그런 다음 로컬에서 작업해야 할 프로젝트의 터미널에 복사한 것을 붙여넣습니다.
(저는 따로 test 폴더에 레포를 새로 clone 받아와서 작업했습니다.)
GitHub CLI 설치 후 처음 작업하는 것이라면 로그인을 하라고 나옵니다.
gh auth login
을 입력합니다.
Enter를 치면 브라우저가 열리고, 터미널에 있는 8자리 코드를 입력해주면 됩니다.
다음 화면에서 Authorize github 버튼을 눌러주면 connected되어 로그인에 성공합니다.
다시 gh pr checkout PR번호
를 입력해주면 해당 PR의 branch로 checkout 되고, 커밋도 확인할 수 있습니다.
이 상태에서 동일 이름의 브랜치를 다시 게시해 PR 하거나, 새 브랜치를 파서 작업하면 됩니다.
복구하고자 하는 커밋을 그대로 살릴 수 있습니다.