💡정상적인 git branch graph와 아닌 상태
❌ 정상적이지 않은 branch 상태
⭕️ 정상적인 branch 상태
💡 비교
[Insight] - [Network]에서 확인해본 모습은, 얼핏 비슷해보이지만 다르다!
정상적인 경우에는, main브랜치
가 중심이 되어 dev브랜치
가 파생되어야 한다. 그리고 새로운 기능 구현을 위해서는 새로운 브랜치를 만들어야하는데, 해당 브랜치는 또 dev브랜치
에서 파생되어야 한다.
🎯 정상적인 git branch graph로 돌아온 방법
현재 주축이 되고 있는
dev브랜치
에 모든 브랜치를 merge 시키기 (dev브랜치
만 남아있도록!)브랜치명 수정하기 (
dev
→main
)// 기존 dev가 main 이 되어 main만 남아있게 된다. $ git branch -m main // 남아있는 브랜치를 확인해보니, main 만 잘 남아있다. $ git branch --all
해당 상태를 원격에 push 하기
$ git push -u origin main // 남아있는 브랜치 확인하기 $ git branch --all
업데이트된 원격 상태 가져오기
$ git pull
브랜치 생성 후 원격 저장소에 올리기
$ git switch -c dev $ git push -u origin dev
결과 확인 🎉
이미
dev
에 많은 commit을 쌓은 탓인지dev
가 주축처럼 보이지만, 결과는 성공적.
📍 느낀점
브랜치가 엉킨 것이 두 번째인데, 프로젝트를 세팅할 때 초기 작업을 나눠서 진행한 것이 원인이 아닐까 싶다. 여러 차례의 시도 끝에 해결했지만, 실제로 해결하고 보니 어렵지 않았다. 다만 이런 실수를 안 할 수도 있었을 텐데 라는 생각과 다음에는 같은 실수를 하지 않아야겠다는 생각이 들었다.