티스토리 뷰

Git

[git] remote branch 삭제

cs09g 2018. 9. 13. 18:39
반응형
git에 익숙하지 않은 개발자와 작업을 하다보면 여러가지 돌발 상황이 생긴다. 일을 하다보면 무의식적이고 습관적으로 "pull - commit - push" 를 할 때가 있는데 그러다보면 엉뚱한 branch와 merge를 하기도 한다.
작업 내용이 많고 많은 사람들과 함께 일하는 경우 revert 등을 통해 제대로 처리를 해야하나, 제대로 처리하는 것이 초보자에게는 쉽지 않다.

이런 경우, 가장 쉬운 방법은 다음과 같다.
1. merge 하기 직전 혹은 그 이 전(정상이라 생각하는) commit을 새로 checkout
2. checkout commit 부터 merge commit 사이에 정상적인 commit이 들어 있다면 cherry picking해 가져온다.
3. 잘못 merge한 branch를 삭제한다. (local/remote 모두)
git push <remote_name> --delete <branch_name>

4. 새로 checkout한 branch를 remote로 push




이 과정을 진행하면 비교적 쉽게 깔끔한 트리로 복구할 수 있다. 주의할 점은, 여러 사람이 해당 branch를 소유하고 있을 경우인데, 기존 branch가 사람들의 local에 남아 있으니 해당 branch 대신 새로 생성한 branch에서 작업하도록 요청해야 한다는 것이다.

반응형
댓글