Post

Git에서 master(main) 브랜치를 다른 최신 브랜치로 업데이트하기

여러분, Git 브랜치 관리는 어떻게 하시나요?

저희 팀의 경우, master(main) 브랜치 대신 develop 브랜치에서 시작해 release 브랜치로 작업을 해왔는데요. 최근에 master(main) 브랜치를 다시 사용하기로 결정했습니다. 하지만, 오랫동안 관리되지 않아 병합하는 데 여러 문제가 있었어요. 고민 끝에, 최신 브랜치로 master(main) 브랜치를 간단하게 덮어쓰는 방법을 찾아서 공유드립니다.

gitGraph
    commit
    branch develop
    checkout develop
    commit
    commit
    branch feature1
    checkout feature1
    commit
    commit
    branch feature2
    checkout feature2
    commit
    commit
    checkout develop
    commit
    checkout feature1
    commit
    commit
    checkout develop
    merge feature1
    merge feature2
    merge main id:"strategy=ours"
    checkout main
    merge develop id:"no fast forward"

master(main) 브랜치 업데이트 방법

1
2
$ git checkout master
$ git pull

먼저 master 브랜치를 원격 저장소와 동기화합니다.

develop 브랜치에 master(main) 브랜치 반영하기

1
2
$ git checkout develop
$ git merge --strategy=ours master

여기서 –strategy=ours 옵션을 사용해 master 브랜치를 develop에 반영합니다. ours 전략은 다른 브랜치의 변경 사항을 무시하고, develop 브랜치의 상태를 유지합니다.

master(main) 브랜치에 develop 브랜치 반영하기

1
2
$ git checkout master
$ git merge --no-ff develop

이제 master 브랜치에 develop 브랜치를 반영합니다. --no-ff 옵션은 fast-forward merge 를 하지 않고, merge commit을 생성합니다.

이 방법을 사용하면 쉽게 master 브랜치를 develop 브랜치의 내용으로 업데이트할 수 있습니다.

참고

This post is licensed under CC BY 4.0 by the author.