강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

윤중진님의 프로필 이미지
윤중진

작성한 질문수

Git으로 협업 시 질문

작성

·

221

0

spring boot로 웹 프로젝트를 하며 git으로 협업을 하고 있는 상황입니다.

 

저 포함 2명의 개발자가 하나의 repository에서 작업하는데 pr을 올리면 서로 코드 리뷰를 해주고 머지하는 형태로 협업합니다.

 

그런데 제가 pr을 올리고, 바로 다음 작업을 진행하려고 하는데 이전 pr과 지금 하고 있는 작업이 서로 의존적인 상태라면 이전 pr을 머지하지 않고 안정적으로 다음 작업을 진행할 수 있는 방법이 있나요?

 

예를 들어서 차단 관련 API를 작성하려고 할 때, 이전 pr: 차단 목록 조회 이고 다음 작업: 회원 차단 하기 라면 controller, service, repository 등을 이전 pr에서 작성했을 텐데 머지하지 않은 상태에서 다음 작업에서는 main branch에서 따오기 때문에 controller, service, repository를 똑같이 작성해야 하는 상황입니다.

 

이런 상황에서 깔끔한 해결 방법이 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

Git을 이용한 협업 중에 서로 코드 리뷰를 하고 머지하는 방식으로 협업을 진행하고 계시는데, 이전 PR을 머지하지 않고 다음 작업을 진행하려는 상황에서 동일한 기능에 대한 작업이 의존적인 상태라면 깔끔한 해결 방법이 있는지 궁금하신 거죠.

이러한 경우에는 다음과 같은 방법을 고려해볼 수 있어요:

  1. Feature Branch 생성: 이전 작업이 완료되지 않은 상태에서 다음 작업에 대한 코드 작성을 진행할 때, 새로운 Feature Branch를 생성해서 작업할 수 있어요. 이렇게하면 기능에 대한 작업이 의존적인 상태에서도 각각의 작업이 격리되어 충돌이 발생하지 않게 됩니다.

  2. Interim Commits: 이전 작업의 결과물을 일부분씩 커밋하는 방식을 사용할 수도 있어요. 이렇게 하면 작업의 일부분이 정상적으로 종료되었을 때 해당 부분만 머지하여 다음 작업을 진행할 수 있게 됩니다.

  3. 협의 및 계획: 팀원들과 미리 의논하고 계획하는 것도 좋은 방법입니다. 서로의 작업이 의존적인 상태일 경우, 작업의 우선순위를 결정하여 먼저 머지할 작업과 다음 작업을 협의하여 진행하면 충돌을 최소화할 수 있습니다.

  4. 코드 리팩토링: 현재 상황에서 중복되는 코드가 발생하는 경우, 해당 코드를 기능을 구현한 Library로 분리하여 코드를 최소화하고 재사용성을 높일 수도 있습니다.

위의 방법들을 참고하여 의존적인 작업을 처리하는 방법을 선택하시면 될 것 같아요. 아직 Git의 사용 경험이 부족할 수 있으니, 이러한 상황에서의 가이드라인으로 참고해주시면 좋을 것 같아요. 추가적으로 질문이 있으시면 언제든지 물어보세요~!

윤중진님의 프로필 이미지
윤중진

작성한 질문수

질문하기