Plastic SCM

MONA·2024년 4월 21일

나혼공

목록 보기
18/92

Plastic SCM?

📝 소프트웨어 개발 및 버전 관리를 위한 분산형 버전 관리 시스템

협업, 소스코드 관리에 사용됨.

  • 분산형 : 중앙 서버에 연결되어 있지 않아도 작업을 수행할 수 있음. 로컬에서 작업 후 변경 사항을 중앙에 push.
  • 대규모 프로젝트 협업에 유용.
  • 시각화 및 분석 도구를 통해 프로젝트를 관리, 추적할 수 있음

Why Plastic SCM?

📝 분산형 버전 관리 시스템의 유연성과 확장성을 통해 다양한 프로젝트 및 팀에 적합한 솔루션을 제공함

  1. 분산형 버전 관리 지원
    • 오프라인 상태에서도 작업 수행 가능
    • 중앙 서버에 대한 의존성을 낮춰 유연성 제공
  2. 유연성 및 확장성
    • branch, merge, tag 등의 기능으로 프로젝트를 관리, 협업할 수 있음.
    • 대규모 프로젝트 및 복잡한 코드베이스에 대한 확장성을 제공해 팀 협업에 적합
  3. 시각화 및 분석 도구 제공
    • Branch Explorer : 프로젝트의 브랜치 구조를 시각적으로 표현. 각 브랜치의 관계와 상태를 쉽게 이해할 수 있음. 브랜치간의 머지 및 히스토리 확인 가능
    • Semantic Diff : 소스코드의 변경사항을 시각적으로 비교. 코드변경의 영향을 더 잘 이해하고 코드 리뷰를 수행할 수 있음
    • Code Reviews : 코드리뷰 기능 제공으로 코드 변경사항을 검토하고 의견을 공유할 수 있음
    • Time-lapse View : 파일의 변경 내역을 시간에 따라 시각적으로 보여줌. 파일의 변경 과정을 이해하고 특정 시점으로 되돌아갈 수 있음
    • Code Metrics : 코드의 품질과 성능을 분석함. 코드베이스의 개선점을 식별, 최적화 할 수 있음
  4. 다양한 통합 기능
    • 다양한 개발 및 협업 도구와 통합 가능.
      • Visual Studio 및 Visual Studio Code 통합
      • Unity 통합
      • JetBrains IDE 통합
      • Slack 통합
      • Jenkins 통합

How to use?

plastic SCM 회원가입 필요

Unity

  1. window - plastic SCM 활성화
  2. Plastic account 로그인
  3. 현재 프로젝트 workspace화

plastic SCM client를 이용할 경우

Plastic SCM - Download Plastic SCM

plastic SCM 프로그램에서 가시성 좋게 관리 가능

IntelliJ

  1. Plastic SCM plugin 설치
    1. File - Settings - Plugins 에서 “Plastic SCM” 검색
    2. 설치 완료 후 IDE 재시작
  2. Plastic SCM repository에 연결하기
    1. VCS - Enable Version Control Integration
    2. Version Control Integration 대화상자에서 Plastic SCM 선택
    3. URL 인증
    4. OK 클릭
  3. commit and push
    1. 변경사항 스테이징하기
      1. 변경사항 선택 Git - Add
      2. 스테이징 할 파일 선택한 후 "Ctrl + Alt + A" (Windows/Linux) or "Cmd + Alt + A" (macOS)
    2. 커밋하기
      1. 상단 메뉴 VCS - Git - Commit
      2. 커밋할 변경 사항 선택
      3. 커밋메시지 입력
      4. Commit 클릭
    3. 푸시하기
      1. 상단 메뉴 VCS - Git - Push
      2. 푸시할 브랜치 선택
      3. Push 클릭
      4. 원격 저장소 인증 정보 입력
      5. Ok 클릭

Plastic SCM terminology & VCS terminology


GitPlastic SCM설명
commitcheckinrepository에 변경점 전달
commitchangeset각 commit에 대한 commit hash
checkoutupdatelocal 저장소로 working copy를 받음
-checkout파일 수정이 필요할 때 사용
mastermain메인 브랜치
repositoryrepositoryversion, branch, merge가 저장되는 곳
workingtreeworkspace중앙 서버의 프로젝트를 로컬저장소에 다운로드 한 후 작업하게 되는 디렉토리

Plastic SCM vs Git

  • Git은 파일의 이동을 생성, 삭제로 기록, plastic SCM은 이동으로 기록되어 파일 히스토리 관리에 용이하다
  • Git은 빈 폴더를 커밋, 푸시하지 않지만 plastic SCM은 빈 폴더에 대해서도 checkin이 가능하고. 히스토리 관리도 된다
    • unity는 모든 asset에 대해 meta 파일을 생성해 metadata를 관리하는데, 빈 폴더에도 .meta 파일이 생성된다. git은 이를 commit하지 못하기에 폴더의 .meta 파일은 커밋되지만 정작 그 빈 폴더는 commit되지 못해 이후 그 폴더를 수정하게 되면 .meta 파일은 존재하지 않는 폴더에 대한 메타데이터로 존재하게 된다.
  • unity 에디터에 플러그인이 자체 내장되어 있어 접근, 사용이 편리하다. Plastic SCM을 따로 설치하지 않아도 제공되는 플러그인만으로 충분히 작업 할 수 있다.
  • Git으로는 작업하기 어려운 용량이 큰 asset을 쉽고 빠르게 관리할 수 있다.
  • unity 작업에 특화된 merge 기능 및 conflict 처리를 지원한다.

Q. Unity 소스코드만 Plastic SCM으로 관리하고 Plastic SCM repository를 Gitlab repository에 서브모듈로 추가하는 방법으로 이용할 수 있을까?

  • 안됨. git submodule은 git respository 안에 다른 git repository를 포함하는 방법으로, git을 기반으로 한 프로젝트에서 사용됨. plastic SCM은 git과 호환되지 않는 다른 VCS이기 때문에 불가능함.
  • Gitlab에서 plastic SCM repository의 URL을 포함하는 README 파일 등을 통해 Plastic SCM repository의 위치를 참조할 수 있음.
profile
고민고민고민

0개의 댓글