[GitHub] 정상적이지 않은 git branch graph 해결하기

[GitHub] 정상적이지 않은 git branch graph 해결하기

·

2 min read

💡정상적인 git branch graph와 아닌 상태

❌ 정상적이지 않은 branch 상태

⭕️ 정상적인 branch 상태

💡 비교

[Insight] - [Network]에서 확인해본 모습은, 얼핏 비슷해보이지만 다르다!

정상적인 경우에는, main브랜치가 중심이 되어 dev브랜치가 파생되어야 한다. 그리고 새로운 기능 구현을 위해서는 새로운 브랜치를 만들어야하는데, 해당 브랜치는 또 dev브랜치 에서 파생되어야 한다.

🎯 정상적인 git branch graph로 돌아온 방법

  1. 현재 주축이 되고 있는 dev브랜치 에 모든 브랜치를 merge 시키기 (dev브랜치 만 남아있도록!)

  2. 브랜치명 수정하기 (devmain )

     // 기존 dev가 main 이 되어 main만 남아있게 된다.
     $ git branch -m main
    
     // 남아있는 브랜치를 확인해보니, main 만 잘 남아있다.
     $ git branch --all
    

  3. 해당 상태를 원격에 push 하기

     $ git push -u origin main
    
     // 남아있는 브랜치 확인하기
     $ git branch --all
    

  4. 업데이트된 원격 상태 가져오기

     $ git pull
    

  1. 브랜치 생성 후 원격 저장소에 올리기

     $ git switch -c dev
    
     $ git push -u origin dev
    

  2. 결과 확인 🎉

    이미 dev에 많은 commit을 쌓은 탓인지 dev 가 주축처럼 보이지만, 결과는 성공적.

📍 느낀점

브랜치가 엉킨 것이 두 번째인데, 프로젝트를 세팅할 때 초기 작업을 나눠서 진행한 것이 원인이 아닐까 싶다. 여러 차례의 시도 끝에 해결했지만, 실제로 해결하고 보니 어렵지 않았다. 다만 이런 실수를 안 할 수도 있었을 텐데 라는 생각과 다음에는 같은 실수를 하지 않아야겠다는 생각이 들었다.