본문 바로가기
소프트웨어 & 클라우드

[Git] github repository 이전 버전으로 바꾸고 업로드하기

by TaeGyeong Lee 2025. 2. 26.

개요 

배포한 빌드에 문제가 생겼을 때 이전 버전으로 급하게 롤백해야 할 상황이 발생합니다. 이 글에서는 Git을 사용하여 이전 버전으로 변경/커밋하는 방법을 안내합니다. 

 

클론

레포지토리를 클론합니다. 클론 시 레포지토리의 가장 최신 버전 C 의 상태의 코드가 로컬에 클론됩니다. 

git clone 레포지토리주소

 

체크아웃 

우리는 버그가 없는 가장 마자막 버전 B를 사용하려고 합니다. 아래 명령을 통해 해당 버전(B) 으로 체크아웃합니다. 

git checkout B

 

 

새 브랜치 생성 

B 버전으로 적용하기 위해서는 우선 새 브랜치 생성이 필요합니다. B를 가리키고 있는 상태에서 D버전을 가진 새 브랜치 rollback-branch 를 생성합니다. 

git switch -c rollback-branch

 

브랜치 덮어쓰기 

이제 생성한 새 브랜치를 main 브랜치에 덮어쓰기 하겠습니다. rollback-branch 에서 아래 명령을 실행해 주세요. 

git checkout rollback-branch
git branch -f main rollback-branch

 

 

Push 

이제 main브랜치로 돌아와 push 해 주세요. 이 경우, 온라인에 기록된 커밋이 더 앞서있을 가능성이 높기에 -f 인자를 추가하여 강제로 push 해 주세요. 

git checkout main
git push -f origin main

 

여담 

이 방법은 브랜치 자체를 완전히 덮어씌우기에 rollback 전 기준 <> main 최신 커밋 사이의 히스토리가 남지 않습니다. Revert 기능을 사용할 경우 좀 더 안정적으로 할 수 있다는데, 실패했습니다. ort 전략으로 머지하면 롤백할 버전과 동일한 100% 버전으로 되돌아가지 않습니다. 

좀 더 안정적이고 확실한 방법이 있다면 좋겠습니다. 만약 있을 경우 업데이트 하도록 하겠습니다. 

 

참고 자료