조기축구아저씨

서브 모듈 브랜치 관리 (Frontend, CSS, Library, Submodule) 본문

project manage/git

서브 모듈 브랜치 관리 (Frontend, CSS, Library, Submodule)

조기축구아저시 2022. 12. 29. 16:36
A, B 작업을 수행하는 개발자와 퍼블리셔가 존재하는 경우
CSS는 어떻게 + 언제 개발자에게 인계 되어야 할까?

 

 

( ) 는 브랜치 명, [ ] 는 존재하는 로직

 


가정1) FE 개발 브랜치에 따라서 CSS 브랜치를 만들었으며 두 명의 퍼블리셔가 동시에 작업을 진행한 경우

( ) 는 브랜치 명, [ ] 는 존재하는 로직


1. Develop A Master Merge 되었을 때에는 별 문제가 없다.

2. Develop B가 Master Merge 되었을 때 Develop A에 해당하는 CSS가 없어 문제 발생!!!

( ) 는 브랜치 명, [ ] 는 존재하는 로직


(가정2)

FE 개발 브랜치에 따라서 CSS 브랜치를 만들었으며 한 명의 퍼블리셔가 A작업 이후 Merge 하였고 B작업을 진행한 경우

( ) 는 브랜치 명, [ ] 는 존재하는 로직

FE 개발 브랜치에 따라서 CSS 브랜치를 만들었으며 한 명의 퍼블리셔가 A작업 이후 Merge 하였고 B작업을 진행한 경우

- 1. Develop B가 Develop A보다 먼저 Merge 된 경우 CSS A작업 사항에 따라 문제가 될 여지가 있다.

- 2. Develop A가 이어서 Merge 되는 경우 앞선 예시와 같이 이번에는 Develop B CSS가 누락된다.

( ) 는 브랜치 명, [ ] 는 존재하는 로직

 


MainModule과 Dependency가 없는 경우 (일반적인 경우)
CSS - SubModule은 Master에 Merge 이후 개발자에게 알린다.

 

 

- CSS Master 브랜치에 해당 기능을 넣고 인계해 준다.

- FE Merge 진행시 git submodule update (CSS Master 최신화)를 진행하므로 FE에서 대응을 잘해준다면 문제 발생이 되지 않는다. 

 

 

( ) 는 브랜치 명, [ ] 는 존재하는 로직

 
 
 
 
 

 

MainModule과 Dependency가 있는 경우
개인 브랜치 운용 + 빠른 Merge 과정이 필요하고
팀원들이 모두 현 상황을 이해하고 있어야 한다.

 

 

- FE와 CSS가 동시에 Master에 Merge 되어야 하지만 FE 작업이 오래 걸리는 경우에는 문제가 된다.

- 이 경우 개발자가 퍼블리셔에게 CSS 개인 브랜치에 작업을 요청하고 FE 개발 후 CSS를 Master에 Merge를 요청한다.
CSS Master Merge 이후 개발자는 FE Master에 해당 작업을 빠르게 Merge한다.

 

CSS SubModule Develop A에서 Master rebase하는 방향도 있겠지만
위 개념은 Library에도 통용되며 MainModule에서 일괄 처리하는 것이 편하다.
(SubModule, Library은 여러개 존재한다.)

 

 
Comments