하루살이 개발일지

[Github] master -> main 브랜치 병합하기 본문

Git/Github

[Github] master -> main 브랜치 병합하기

harusari 2023. 6. 18. 20:04
[문제 상황]

github의 main 브랜치와 master 브랜치가 따로 존재할 때, master 브랜치의 내용을 전부 main브랜치로 옮기기

 

1. 원격 저장소에서 최신 상태를 받아오기

git checkout master
git pull origin master

 

 

 

2. main 브랜치의 최신 상태도 받아오기

git checkout main
git pull origin main

 

 

 

3. main 브랜치에 master 브랜치의 커밋을 덧붙이기. 이때 `rebase` 명령어를 사용한다

git checkout master
git rebase main

이제 master 브랜치에는 main 브랜치의 모든 변경사항이 포함되었다

 

 

 

 

4. 변경사항을 원격 저장소에 반영하려면 master브랜치를 푸시해야 한다. rebase를 했기 때문에 강제 푸시를 해야 한다.

git push origin master --force

 

 

 

5. 이제 main 브랜치에 master 브랜치의 변경 사항을 병합한다.

git checkout main
git merge master

 

 

 

6. 마지막으로 변경 사항을 원격 저장소에 푸시한다

git push origin main

이제 main 브랜치가 최신 상태를 반영하고 있으므로, 이후의 작업은 main에서 계속하면 된다.

 

 

 

7. master 브랜치가 더 이상 필요 없다면 삭제할 수 있다.

git branch -d master
git push origin --delete master

이렇게 하면 main 브랜치에 모든 변경사항이 반영되고, master 브랜치가 삭제된다.