본문 바로가기

형상관리

Git 협업 워크플로우

1. Centralized Workflow




- SVN으로 협업할 때와 크게 다를 바 없음.
- SVN에 비해 Git의 장점
   1) 로컬 저장소를 이용해서 개발할 수 있음. 중앙 저장소로부터 완벽히 격리된 상태이므로 자신의 작업에만 집중할 수 있음.
   2) Git의 branch와 merge 기능의 이점. 안전하게 코드를 변경하고 다른 브랜치에 통합할 수 있음.


(1) 작동 원리
    - Centralized Workflow는 프로젝트의 변경 내용을 추적하기 위해 단일 중앙 저장소를 이용. master란 브랜치를 사용하고, 모든 변경 내용은 이 브랜치에 commit 한다.

(2) 다음 단계
    - Git의 특장점인 분산 버전 관리의 이점은 누리지 못한다. 그럼에도 불구하고 SVN 개발 환경을 Git으로 전환할 수 있는 좋은 시작점이 됨
    - 협업을 좀 더 유연하게 하려면 다음에 소개할 Feature Branch Workflow를 검토해야 함. 개발할 기능을 개별 브랜치로 분리함


2. Feature Branch Workflow


(2) 적용 사례


새로운 기능을 개발하기에 앞서 격리된 작업 브랜치를 만들어야 한다.

$ git checkout -b top-feature master
( -b : 체크아웃하려는 브랜치가 없으면 master 브랜치를 기준으로 해서 만들 수 있음. )


오전 동안 새로 만든 브랜치에 꽤 여러번의 커밋을 남겼음. 그간의 작업내용을 중앙 저장소에 푸시해 놓기로 했음.

$ git push -u origin top-feature

기능 개발을 모두 완료함
$ git push

팀장의 풀 리퀘스트 검토 및 수정 요청

기능 병합 완료
$ git checkout master
$ git pull
$ git pull origin top-feature
$ git push


'형상관리' 카테고리의 다른 글

Git 유용한 기능들  (0) 2019.08.02
SVN backup 및 rollback  (0) 2017.04.21