다음의 포스트를 참고하여 작성하였습니다.
Velog, Git 협업 가이드, (2022.01.29)
Tistory, Github를 이용한 iOS 개발 협업 기초, (2022.01.29)


1. 왜 하려는건가요?

이제 내가 속한 iOS 파트에서 하나의 프로젝트를 2명 이상의 개발자가 함께 협업하기 시작했다.

제대로된 형상관리(Branch, Release), 업데이트 이력 확인(Commit) 등을 하려고 하지만, 아직 경험이 없어서 한 번 생각을 정리해보려고한다.


2. 지금 어떻게 일하고 있나요?

  • 두 명의 개발자(H, K)
  • 같은 Xcode 프로젝트를 동시에 작업
  • K는 신규 기능 CallKit(iOS에 전화처럼 오게 하는 기능)을 2주간 구현
  • H는 기존 코드의 BugFix 업무
  • Github에는 현재 1.2.0 배포 버전의 코드 업로드
    • branch는 master, develop 2개

case K. 신규 기능 개발

  1. 기획자: 신규 기능 기획
  2. 디자이너: 신규 기능 디자인
  3. 개발자: 기획/디자인 피드백
  4. 개발자: 개발
  5. 개발자: 개인 테스트
  6. 개발자: 테스트 릴리즈
  7. 테스터: 테스트 및 피드백
  8. 개발자: 테스트 대응
  9. 개발자: 스토어 릴리즈

case H. 기존 기능 수정(에러 등)

  1. 수정사항 전달(혹은 에러 발견)
  2. 개발자: 해당사항 피드백
  3. 개발자: 개발
  4. 개발자: 개인 테스트
  5. 개발자: 테스트 릴리즈
  6. 테스터: 테스트 및 피드백
  7. 개발자: 테스트 대응
  8. 개발자: 스토어 릴리즈

3. 어떻게 해야할까?

  1. 각자 브랜치 생성
  2. 수정 작업
  3. 수정 사항 커밋(Xcode로도 가능)
  4. 브랜치 푸쉬
  5. 마스터로 PR 요청
    • 코드리뷰 진행(conflict나 문제점 보완)
  6. merge된 내용 로컬 업데이트