개념
- 프로젝트 버전 관리 시스템
- Git은 프로그래머를 위해 만들어졌으므로 디자이너들이 다루기 어렵고 이미지같은 리소스 비교가 어려움
- 누구나 쉽게 사용하기 쉬운 방식이 플라스틱 SCM
- 유니티에서는 Unity Version Control이라는 이름으로 제공
- 플라스틱 SCM의 특징
- 분산식, 중앙 집중식 두가지 방식이 존재
- 분산식 : Git처럼 각자 PC에 로컬 저장소를 가지고, 개발 후 안정된 버전만 커밋하여 서버로 푸시하는 방식
- 중앙 집중식 : 로컬 저장소 없이 바로 서버로 동기화하는 방식
- 대규모 파일을 쉽게 관리
- 깃에 비해 대규모 용량의 파일을 귑게 공유할 수 있음(게임 특성상 리소스 크기가 큼)
- 유니티 뿐 아니라 다른 게임엔진도 지원
- 비용
- 기본 3명의 사용자와 월 5GB의 저장소 무료 제공
- 초과 시 인당 월 7달러, 25GB 당 월 5달러씩 책정
- Plastic Workspace 만들기
- 인터넷에 플라스틱 scm을 검색 후 무료 시작 → 결제정보 입력 후 결제(0원 결제)
- 유니티 Window → Plastic SCM
- 저장소 선택 또는 생성 후 Create workspace
- 기능
- Pending Changes
- 내가 프로젝트에 변경한 작업들이 표시
- 변경된 리스트 중 서버에 올리고자 하는 것을 선택하고 내용을 적은 뒤 Checkin Changes를 누르면 서버에 공유
- Undo누르면 최근 Checkin 시점으로 돌아감
- Incoming Changes
- Changesets
- 지금까지 공유된 작업의 히스토리를 볼 수 있음
- 해당지점으로 돌아갈 수 있음
- go back to changeset : 해당 지점으로 복구
- switch workspace to this changese : 해당 지점으로 복구(프로젝트 설정까지 바꾸는듯?)
- Branches
- 현재 프로젝트에 존재하는 브랜치의 목록을 볼 수 있음
- 개발자 초대
- 우측 상단 톱니바퀴 → Invite Members to workspace를 선택하면 새로운 개발자를 현재 워크스페이스에 초대할 수 있음
용어
- Branch
- 버전 관리 시스템에서 프로젝트의 독단적인 작업 흐름을 만들기 위한 기능
- 기존 코드 베이스에 영향을 주지 않고 새로운 작업 가능
- 협업에서 개발자들이 서로의 작업에 방해받지 않고 동시에 다양한 작업 수행
- Pull Request
- Git에서 특정 브랜치에서 작업한 후 메인 브랜치에 바로 합치는게 아니라 병합을 요청하는 과정
- 메인 브랜치에 병합하기 전에 해당 작업에 대해 점검할 수 있음
- 팀원 간에 변경사항에 대한 공유
- Plastic SCM에는 비슷한 개념으로 코드 리뷰라는 기능이 존재
사용법
-
워크스페이스 탐색기
-
대기 중인 변경사항
- 워크스페이스에서 변경된 파일 목록
- 어떤게 변경되었는지 확인 가능
- 커밋할 파일들 선택해서 반영
-
브랜치 탐색기
- 프로젝트의 브랜치 구조를 시각적으로 보여주는 도구
- 각 브랜치의 상태와 관계 표시
- 브랜치 간의 병합 작업 진행
- 아래 사진에서 위쪽의 메인작업과 별도로 브랜치를 추가해서 작업 진행
- 맨처음(좌측) 체인지 세트를 기준으로 각자 다른 작업이 가능
- 나중에 브랜치에서 병합 가능(초록색 화살표 지점)
- 브랜치 병합 시, 병합 이후의 작업들은 반영 안됨

브랜치 탐색기
- 브랜치 충돌
-
같은 파일을 작업한 후 병합할 경우 발생
- 소스, 대상 중 어디의 파일을 유지할지 선택해서 덮어씌움

브랜치 충돌

유지할 브랜치 선택