Github

Git 협업 시 PR 대기 중 다음 기능 작업은 어떻게 할까?

은나노 2025. 5. 6. 22:37

이번 프로젝트에서 Git을 통해 협업을 제대로 해보면서, 공부하면서 원활한 협업을 하기위해 노력하고 있다.

하나의 기능 개발에 대해 Git issue를 올려 이를 git branch와 연동, 기능 개발 완료 후 PR을 하는 방식으로 작업 중이다.

 

이 경우, 내가 하나의 기능 개발을 완료하고, PR이 merge되지 않은 상태에서 다음 기능을 개발하려고 할 때 문제가 발생했다.

 

상황 요약 :

1. 기능 A -> feature/a 브랜치에서 구현했고, PR은 올렸지만 아직 merge되지 않음

2. 기능 B -> feature/b 브랜치에서 구현하고 싶은데, 기능 A가 선행되어야함

그런데 feature/b를 main에서 따면 기능 A가 없어서 개발이 안됨..

 

✅ 해결 방법 : feature/a 브랜치 기준으로 feature/b 브랜치 생성

 

 

하지만 여기서 문제..

 

Git Issue를 생성 후 바로 Git branch를 연동해서 생성하다보니, 이미 브랜치는 생성되어있고,, 브랜치를 삭제했다가 생성하면 Git issue와 연동이 어떻게 되는건지 걱정이 되었다..

 

https://docs.github.com/ko/issues/tracking-your-work-with-issues/using-issues/creating-a-branch-for-an-issue

 

문제 작업을 위한 분기 만들기 - GitHub Docs

문제 페이지에서 직접 문제를 해결할 분기를 만들고 바로 시작할 수 있습니다.

docs.github.com

 

Github 공식문서에서 Github issue와 branch 연결 부분을 보니 branch 이름으로 연동을 하는것으로 보여 같은 이름으로 브랜치를 재생성하면 될 것 같다고 판단했다.

 

따라서 다음 단계로 문제를 해결했다.

git stash
git checkout 다른 브랜치 (feature/b말고 다른 브랜치)
git branch -D feature/b
git checkout feature/a
git checkout -b feature/b
git stash pop

 

feature/b 브랜치에서 commit이나 push한 데이터가 없어서 이정도로 문제가 해결되었다.

 

 

 

‼️ 추후 기능 A가 merge된다면..?

기능 A가 main에 merge된 뒤, B도 PR 준비할 때는 다음 단계를 따른다!

1. 기준 브랜치를 main으로 바꾸고

git checkout main
git pull origin main
git checkout feature/b
git rebase main # 또는 git merge main

 

2. 충돌이 있다면 해결하고 push

git push origin feature/b --force

 

 

나는 충돌은 없어서 쉽게 완료했다.

성공적인 마무리 메세지

 

끝!

LIST