Git이 꼬였을때 GitHub로 원복하는 방법

 안녕하세요. 알렉스 입니다. 만약 git이 너무 꼬여서 더이상 방법이 없을때 이전의 GitHub commit으로 돌아갈수 있는 방법에 대해서 알려드릴려고 합니다.





위 사전처럼 dev1 브렌치를 git에 생성하고 두번째 commit인 'add hello world'까지는 GitHub로 푸쉬를 하였습니다. 하지만 모종의 이유에 따라 세번째 커밋에 문제가 생겼습니다. 다행히 GitHub에 푸쉬를 하지 않은 상태 입니다. GitHub에 있는 두번째 커밋으로 복귀를 해야 합니다.







가장 먼저 현재 원복할려는 브렌치는 dev1입니다. 따라서 브렌치를 이전 브렌치(dev)로 변경합니다. 




이제 브랜치 dev1을 삭제했다. 이후 git에서는 dev1의 정보를 파악할수 없다. 하지만 GitHub에 올라와 있는 commit으로 복구가 가능하다.



GitHub에 올라와 있는 dev1커밋을 위와 같다. 만약 GitHub의 커밋을 사용하게 된다면 'add hello world'가 git에 생성되게 된다. 그럼 한번 진행해 보자




위 그림처럼 'git checkout origin/dev1 -b dev1'을 터미널에 치면 dev1브랜치가 원격 저장소(GitHub)를 통해서 생성됩니다. 그렇게 되면 GitHub에서 가장 마지막에 진행한 커밋까지 복원이 됩니다.


이렇게 함으로써 Git에서 문제가 생길시 GitHub를 통해 원복하는 방법에 대해서 알아보았습니다. 그런데 만약 문제가 되는 커밋을 GitHub에 push했으면 어떻게 해야 할까요? 이 방법에 대해서 다음 글에서 알려드리도록 하겠습니다.






댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)