본문 바로가기

VC & DEV TOOLS/Git

[GIT] 이전 commit으로 돌아가 리모트 저장소에 최신 commit으로 올리기

한참 개발을 진행하다가 이전 commit이 현재 버전보다 더 나을때, 오류가 없을때,


어떠하든간에 과거 commit으로 돌아가고 싶었을 때


방법을 잘 몰라 과거 commit으로 돌아가기만 하고 결국에 리모트 저장소에는 업데이트 할 수 없는,


그리곤 브랜치를 새로 만들어 업데이트 했던 번거로운 방법을 사용했었는데,


이번에 아주 유용한 명령어를 찾았다.



-f 명령어를 기존 push 명령어에 붙여줌으로써 이전 commit을 강제로 리모트 저장소에 push 하게 만드는 것이다.


우선 이전 commit으로 로컬 저장소를 되돌리고, 이를 add해서 push 해주어야 하는데


아래의 순서대로 진행하면 된다.



git checkout 업데이트 하고싶은 가장 최근의 리모트 브랜치


git revert 돌아가고 싶은 commit 코드. 


편집기가 열리면 필요에 따라 commit 메시지 작성 후 :wq로 탈출


git add .   (상황에 따라 불필요할수도)


git commit -m "붙이고 싶은 메시지"


git push -f origin 리모트 저장소 브랜치




이 방식이 상황에 따라 항상 필요치는 않겠지만, 어찌되었든 git에서 권장하는 방식은 아닌걸로 보인다.


허나 가장 최근에 올려져있던 버전도 그대로 git에 commit 형태로 남아있게 되므로


문제가 생기게 되면 이전 commit으로 돌아갈 수 있는 여지도 있다.



< 참조 >


https://code.i-harness.com/ko/q/9d23b3