Plastic SCM 활용하기

RushBsite·2021년 12월 29일
3

Unity

목록 보기
1/1

❗ 본 게시글은 '유나이트 서울 2020 - 유니티의 Plastic SCM을 이용한 게임 버전 관리' 영상과
'Unity 코리아 웨비나' (링크에서 신청 가능) 영상과 이미지를 기반으로 작성되었습니다.

Plastic SCM이란?

Unity plastic(Plastic SCM)

유니티와의 연동을 강조하는 Plastic scm 메인 홈페이지

Plastic SCM (Unity plastic)은 버전 컨트롤 시스템으로서 Perforce, Git , SubVersion 과 같은 협업을 위한 형상 관리 도구이다. 2019 LTS 이상 버전의 Unity에는 Plastic SCM이 통합되어 있다. Plastic SCM의 특징을 간략히 정리해 보면,

  • 아티스트(논 프로그래머)를 위한 Gluon 버전을 제공한다. 가볍고 심플한 UI가 특징이며, 필수적인 요소만 간편하게 접근 가능.

    간결한 UI 구성이 특징인 'Gluon'

  • Unity Integration 이 되어 있어 에디터 내에서 모든 작업 가능
  • Git LFS와 같이, 대용량 바이너리 파일에 대한 별도의 설정 필요 없음
  • 다양한 형태의 인프라를 고려한 환경 설정

    같은 프로젝트 내에서도 Centralized 나 distributed 로 관리 방식을 프로그래머 선호에 따라 선택할 수 있다.

  • 빈 디렉토리 자체도 버전 컨트롤 에셋으로 처리
  • 강력한 BranchMerge

    리팩토링된 class 구조를 class 다이어그램으로 표현하거나 함수, 메소드 이름의 세부사항 merge 같은 강력한 기능을 제공한다.

  • 타 VCS 대비 빠른 속도

    Git 과 P4 대비 우월한 밴치마킹 성능을 보인다.

비용

1-3 명 규모의 소규모 팀과 0-5gb의 스토리지를 사용한다면 Plastic SCM Cloud Edition을 무료로 사용 가능하다. (Cloud Edition은 Plastic SCM 저장소를 클라우드에 저장 가능)

설치 방법

유니티 연결

유니티 에디터 내부에서는 아래 사진과 같이 Window 탭에서 Plastic SCM 창을 열 수 있다. 활성화 하면 아래와 같이 Plastic account 로 로그인 하는 창과 현재 열려있는 project를 workspace화 하는 순차적 setup이 진행된다.

로그인을 완료하고 create workspace 버튼을 누르면 다음과 같이 워크스페이스를 생성하는 창으로 넘어간다. 이때, 체크인 기능에만 집중하는 Gluon 워크스페이스로 생성할 것인지, merging, branching 등의 기존 vcs의 기능을 다 하는 Plastic workspace로 생성할 것인지 선택할 수 있다.

설정을 모두 완료하면 다음과 같이 Plastic scm 기능을 활용 가능한 window로 진입할 수 있다.

활용하기

Main Concepts

Plastic SCM에서 사용되는 용어들을 대응되는 기존 VCS와 비교한 것이다.

Plastic SCMGitPerforce설명
CheckinCommitSubmitrepository에 변화점들을 전달한다.(Git의 commit에 해당)
ChangesetCommitChangelistrepository에 전달한 각 Checkin을 뜻함(Git에서 각 commit들을 1ea34 커밋과 같이 부르는 것에 해당)
UpdateCheckoutSynclocal 저장소로 working copy를 다운로드 한다. 예를 들어, 브랜치 변경 등에 사용 (Git의 Checkout에 해당)
Checkout---Edit파일 수정이 필요할때 사용
mainmastermainGit의 master branch나 Subverstion의 trunk에 해당, 자유롭게 rename 가능
RepositoryRepositoryDepot모든 version, branches, merges가 저장되는 장소
WorkspaceWorking treeWorkspace프로젝트가 로컬 저장소에 다운로드되고 작업하게 되는 디렉토리

Branch Explorer

branch flow

Plastic SCM에서 제공하는 Branch Explorer은 다음과 같은 view 를 제공한다.

위 그림과 같이 branch로 분기된 작업은 main branch로 머지되는 상황에서 다음과 같은 view로 나타난다.

  • 점선 화살표는 새로운 changeset 이 임시임을 의미한다. 즉, merge 전에 pass test를 하는것이 바람직하다.
  • 이때 pass test는 task1213의 branch 코드가 아니라 main에 merge된 code로 하는 것이 바람직하다.

CI가 테스트를 완료하고 정상적으로 merge 가 완료되면 다음과 같은 view를 확인 할 수 있다.

Git의 branch와 차이점

Plastic 에서 branch는 changeset의 containers 로써 존재하지만, Git에서는 Pointers 일 뿐이다.

위 그림에서 3번째 commit(changeset)을 보면 Git은 merge 이후에 master에 종속되지만, Plastic에서는 task002에 종속되는 것을 확인 할 수있다.

Plastic 의 branch 들은 merge 이후에도 각 분기와 flow를 저장하며,
따라서 Plastic에서는 Branch는 삭제되지 않는다.

Branch 탐색기 옵션

브랜치 탐색기에서 체인지 세트에 커서를 올리면 나오는 툴팁

이제, Plastic SCM GUI에서 확인할 수 있는 브랜치 탐색기의 각 기능들을 살펴보자.

먼저, 브랜치 탐색기에서 체인지세트에 마우스 커서를 올리면 대상 체인지 세트의 간략한 정보가 툴팁으로 표시된다.
Git의 commit 과 commit message에 해당되는 체인지 세트, 코멘트를 간략하게 확인할 수 있다.

체인지 세트를 마우스 우클릭 했을때 나오는 컨텍스트 메뉴

체인지 세트를 우클릭하면 다음과 같은 메뉴들을 확인 할 수있다.
메뉴명기능비고
체인지 세트 비교
...브랜치 생성
...레이블링
...워크스페이스 전환
...병합
...체리픽
...다음으로 병합
다른 체인지 세트와 비교
이 체인지 세트의 레포지토리 탐색
...Plastic 드라이브에 마운트
부모 체인지 세트로 이동
새 다이어그램에 관한 브랜치 표시
이 체인지 세트에 대한 새 코드 검토
profile
게임 기획/개발 지망생

0개의 댓글