일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- stun
- 서브모듈
- SRTP
- TCP
- runinnaction
- SFU
- gennerator
- SSL Handshake
- 흐름 제어
- Selective repeat
- DTSL
- RWND
- 오류 제어
- RTCPeerConnection
- Simulcast
- mobx
- acknnowledgement Number
- 빠른 재전송
- Ice
- Turn
- stop & wait
- SCTP
- 혼잡 제어
- webrtc
- P2P
- sequence number
- mcu
- RTCDataChannel
- DTLS
- 브랜치관리
- Today
- Total
조기축구아저씨
서브 모듈 브랜치 관리 (Frontend, CSS, Library, Submodule) 본문
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은 여러개 존재한다.)