퍼포스 소개 및 기초 설명 (Perforce Overview)

2023. 3. 28. 22:46코딩/Perfoce

퍼포스 소개 및 기초 설명 (Perforce Overview)

 

  • Perforce는 소스 버전 관리 툴이다. (ex. git, svn) Git과 달리 강력한 Lock 기능을 통한 중앙 집중형 관리, 간편한 종속성, Non-code Assets을 다루는 데에 장점이 있다.

서버 - 클라이언트 구조 이다.

  1. p4 - Command line server/client
  2. p4v - GUI
  3. p4p - 프록시 설정
  4. p4broker - 옵션 관리(접근 제한 등)
  5. p4 web, helix4git

등의 다양한 사용 방법이 있지만, 사용자 입장에서는 GUI 툴인 p4v를 이용하는 것이 가장 쉽다.

  • Depot - 버전 파일을 관리하는 최상 위 공간, repository 개념 ( > Stream)
  • Stream - 브런치 개념
  • Workspace - 서버의 복제를 관리하는 로컬 폴더
  • Sync(Get latest) - Gettig files from server to local machine, 풀 같은 기능
  • Check-out/Open - marking file for modification, 일종의 락
  • Submit - storing changes made in opend files on server, 푸시 같은 기능
  • Changelist - It is a number assigned to every submit
  • Revision - commit on file creates one new revision on file
  • Job - It is an element, used to group changlists
  • Label - It si an element. used to group different revisions of files
  •  

스트림 유형(Stream types)

  • Mainline: 최상위 스트림으로 메인 브랜치로 볼 수 있습니다.
  • Release: 안정적인 소스 상태로 관리하기 위한 스트림으로 주로 안정적인 릴리스를 준비하기 위해 사용하는 스트림입니다.
  • Development: 개발이 이뤄지는 피쳐 스트림입니다.
  • Task: 작은 단위의 작업을 할 때 사용할 수 있는 특수한 스트림입니다.
  • Virtual: 특정 인원에게 제한된 뷰를 제공하기 위한 스트림입니다.

 

1. 설치 + 로컬 서버 설정 (Install + Setting Local Server)

다운로드

 

로컬 서버 설정

원하는 Directory 설정
UTF-8 설정

결과

 

Advanced 주요 기능 설명

  1. Locked : 소유자만 WorkSpace를 변경할 수 있고, 다른 사용자는 Read만 가능하다.
  2. File Options
    - Allwrite : WorkSpace의 모든 파일을 수정 가능하다.
    - Clobber : 파일을 동기화하면, WorkSpace에서 쓸 수 있는 파일을 덮어쓴다.
    - Compress :
    - Modtime : 클라이언트 작업 공간에서 편집된 파일을 확인할 때, 이 옵션을 사용하면 P4V는 파일이 외부에서 수정되었는지 확인하기 위해 다이제스트(digest)를 확인하기 전에, 파일 수정 시간을 확인하여 클라이언트에서 비용이 많이 드는 다이제스트 계산을 최소화한다.
    - Rmdir : 폴더에 포함된 모든 파일이 제거되면 작업 공간 폴더를 삭제한다.

 

2. 기본 기능 (Basic Work Flow)

Basic Work Flow

  • Get Latest - 최신 버전 받기
  • Add, Delete - 새로운 파일을 P4에 등록하기, 파일이나 폴더를 P4에서 삭제하기
  • Checkout - 편집을 위해 체크 아웃 하기(수정을 위한 Lock)
  • Submit - 작업 완료 후 P4 서버에 올리기

Additional #1

  • Diff - 편리한 Diff 기능이 내장되어 있다. History에서 Revision 별 Diff 또한 가능.
 
  • Rollback (참조 #3, #4)
오른쪽 클릭 File history 또는 메인 메뉴 View > History
Undo revision 선택

 
  1. Undo a single change while keeping subsequent changes - 다른 변경 사항을 유지하면서 지정한 단일 리비전 변경 사항만 수정
  2. Undo a range of change while keeping subsequent changes - 다른 변경 사항을 유지하면서 지정한 범위 리비전 변경 사항만 수정
  3. Undo all changes from a selected point to the most recent version - 지정한 단일 리비전 이후 모든 최신 사항 수정

 

  • Revert - 작업 중인 내용 되돌리기
  • Checked Out By - 체크아웃하고 있는 사람 확인하기

특정 파일에 Checked Out By 항목을 보연 체크 아웃 하고 있는 사람의 ID가 보인다.
Checked Out By 항목이 보이지 않는 경우에는 리스트 콘트롤 네임 영역을 우클릭하여 해당 항목을 추가.

  • Reconcile Offine Work - P4에 등록되지 않은 로컬 파일이나 체크 아웃 하지 않고 편집한 파일 찾기

3. 파일 관리

저장소에 파일 추가

  1. Tree pane → WrokSpace 클릭
  2. 추가할 파일 우클릭 → Mark for Add…
  3. Toolbar의 submit 클릭

4. Stream 관리

Stream 생성

Work Stream 교체

 

Stream 병합/ Copy

View - Stream - 오른쪽 클릭 Merge - Stream to Stream / 또는 특정 Target file Merge 가능

 
  • 이 때, change list가 뜨지 않거나 뭔가 이상하다면 Source/Target을 확인하세요! 쉽게 발생하는 실수 입니다.

 

 

5. 충돌 관리 (Resolve Conflicts)

바이너리 타입 ( 이미지, .upk, .doc, .xls 파일 등등 ) - 충돌이 발생한 파일을 선택 후 마우스 오른 클릭하여 Resolve를 선택.

자신의 파일을 유지할 경우에는 Accept Yours를 클릭.
다른 사람의 파일을 유지할 경우에는 Accept Theirs를 클릭.
다른 사람의 작업 내용과 자신의 작업 내용을 병합할 경우에는 Accept Merged를 클릭.

체크아웃 하지 않은 상태에서 변경된 내용을 P4서버로 반영하려면 Check out을 클릭. Submit을 진행.
체크아웃 하지 않은 상태에서 변경된 내용을 원본으로 복구하려면 Revert를 클릭.

Merge Tool 사용 시

Conflicts 구간의 내용을 선택 가능
 

→ Solve 후 Submit

6. 유니티 연결

Edit - Project Setting - Version Control

 

7. 언리얼 연결 ( 참조 #6)