2022. 12. 11. 23:08ㆍ기타 팁
<분산 환경 종류>
1. 중앙집중식 워크플로

주의 할 점: 지신의 일을 커밋하고 Push 하기 전에 서버에 있는 걸 Merge 하자.
그래야 그 전 개발자가 작업한 내용을 덮어 쓰지 않는다.
git은 덮어쓰도록 허용하지 않는다.
Push 하기 전에 Fetch로 받아서 Merge 한 후 Push 할 수 있다.
2. Integration-Manager 워크플로
다른 개발자는 읽기만 가능하고 자신은 쓰기도 가능한 공개 저장소를 만드는 워크플로
프로젝트 Integration-Manager는 프로젝트 메인 저장소에 Push를 한다
-> 기여자는 메인 저장소를 clone 하고 수정하고 나서 자신의 저장소에 Push 한다.
-> 프로젝트 Integration-Manager에게 새 저장소에서 Pull 하라고 요청한다.(변경사항을 적용해달라고)
-> Integration-Manager는 기여자의 저장소를 리모트 저장소로 등록하고,
로컬에서 기여물 테스트하고, 프로젝트 메인 브랜치에 Merge한 후 프로젝트 메인 저장소에 Push한다.

3. Dictator and Lieutenants 워크플로
수백 명의 개발자가 참여하는 아주 큰 프로젝트를 운영할 때 사용한다.
여러 명의 Integration-Manager가 저장소에서 자신이 맡은 부분만 담당하는데 이들을 Lieutenants라고 부른다.
모든 Lieutenants는 최종 관리자 아래에 있으며, 이 관리자를 Benevolent Dictator라고 부른다.
Benevolent Dictator는 Lieutenants의 저장소를 가져와 공식 저장소에 Push 하고
모든 프로젝트 참여자는 이 공식 저장소에서 반드시 Pull 해야 한다.
개발자는 코드를 수정하고 공식 저장소의 브랜치를 기준으로 자신의 토픽 브랜치를 Rebase 한다.
-> Lieutenants들은 개발자들의 수정사항을 자신이 관리하는 master 브랜치에 Merge 한다.
-> Dictator는 Lieutenants의 master 브랜치를 자신의 master 브랜치로 Merge 한다.
-> Dictator는 자신의 master 브랜치를 Push 하며
다른 모든 개발자는 Dictator의 master 브랜치를 기준으로 Rebase 한다.

'기타 팁' 카테고리의 다른 글
| 인텔리제이 단축키 (0) | 2023.04.27 |
|---|---|
| git - 커밋 가이드라인 (0) | 2022.12.11 |
| git 브랜치 워크플로 (0) | 2022.12.11 |
| GIT 브랜치 (0) | 2022.12.11 |
| 캡처도구 없이 단축키만으로 화면 캡처하기 (0) | 2022.11.26 |