가끔 하다 보면
develop 에서 파생된 브랜치지만 develop 과 내용이 너무 달라져서
최종 finish 머지를 진행하려고하면 어마무시한 conflict 가 발생하는 케이스가 있다.
최종 버전을 가진 브랜치(release 브랜치라고 하자) 가 기존 develop 의 모든 히스토리를 가지고 있고
충돌을 무시하고 release 브랜치로 다 덮어 쓰면 되는 상황이라면
강제 merge를 진행할 수 있다.
조금 무시무시한 상황이지만 release 브랜치 형상에 대해 전수 검증을 거친 결과물이라면
그래도 시도 할만 하다.
검색해보면 merge -X 뭐 이런거 있는데 다 복잡한 느낌이고
# upstream 공유 레파지토리 명칭
# 로컬 develop 브랜치에서 진행
git fetch upstream
# release 는 최종 검증완료된 브랜치
git reset --hard upstream/release
이렇게 할수 있었다.
로컬에서 저렇게 진행하고 origin (fork 된 브랜치)/develop 로 푸시후 upstream/develop 에서 머지를 진행
큰 문제는 없었던 것으로 기억한다.
사실 당시에 할때 정확하게 어떤 커맨드를 썼는지 잘 기억이 안난다. (이미 2개월 전인가..)
reset 을 활용해서 했다는 기억만이 가물..
'코드 > Git' 카테고리의 다른 글
[Git] 태그 일괄 삭제 (0) | 2020.12.11 |
---|---|
[Git] git cache 제거 (0) | 2020.06.06 |
[GIT] 특정태그가 remote 와 동기화 되지 않을 경우 (0) | 2019.06.24 |
[Stash] stash 된 내용 보기 (0) | 2019.05.30 |
[Git]로컬에서 리모트에 존재하는 브랜치로 새로이 체크아웃할때 (0) | 2016.05.20 |