형상관리 툴의 일종.
언리얼엔진에서 퍼포스와 연동되는 소스컨트롤 기능을 지원해준다.
Git과 비교하면 Git은 텍스트 편집 위주거나 소규모 프로젝트에서 사용하기 적합하고, Perforce는 바이너리 파일의 수정이 많거나 여러명이 동시 작업하는 프로젝트에 적합한 측면이 있다고 한다.
인터넷 자료를 참고하여 AWS에 퍼포스를 설치해놓고 작업할 수 있었다.
Perforce와 Git의 유사한 개념 용어를 정리했다.
(Perforce, Git 순서대로 나열함)
- Depo & Remote Repository
서버에서 저장되어 있는 공유 파일 저장소
- Workspace & Local Repository
내 로컬에 저장되어 있는 작업 파일 저장소
- Refresh & Fetch
서버 저장소의 파일 목록을 최신화한다.
- Get Latest & Pull
서버와 내 로컬 저장소를 동기화한다.
- Check-out
작업할 파일을 다른 사람이 수정할 수 없게 Lock을 건다.
- Check-in & Commit
수정한 파일을 임시 저장 하는 것
- Submit & Push
코멘트와 함께 서버에 수정된 파일을 올린다.
- Revert
로컬의 작업 내용을 취소하고 되돌린다.
- Stream & Branch
분리된 영역을 만들어 독립적으로 작업한다.
- Get Latest
서버 Depo에 있는 최신 파일로 내 Workspace를 동기화(Sync)해준다.
- Check-out
작업할 파일을 수정하기 위해 찜한다.
- Check-in
수정이 완료된 파일을 임시 저장한다.
- Submit
코멘트를 적어 서버에 올린다.
- Mark for Add
내 로컬 Workspace에 있는 파일 중에 서버에 올리고 싶은 파일을 표시한다.
- Submit
코멘트를 적어 서버에 올린다.
- Mark for Delete
내 로컬 Workspace 또는 서버 Depo에 있는 파일 중에 지우고 싶은 파일을 표시한다.
- Submit
코멘트를 적어 서버 및 로컬에서 지운다.
주기적으로 P4V의 Get Latest와 엔진에서 Sync를 돌려서 최신 버전을 유지하는 것이 안전하다.
소스콘트롤과 연결된 읽기 전용 파일을 강제 수정하면 충돌이 발생한다.
프로젝트의 임시 파일들을 삭제할 경우 엔진의 소스콘트롤 연결이 해제될 수 있다.
새 Workspace를 생성 시 Depot 전체를 include file 해야 한다.
Workspace 경로에 한글이 포함된 경우 빌드 에러가 발생할 수 있다.
파일명 수정 시 일부 대소문자만 전환할 수 없다.
팀원 간의 임시 파일 공유를 방지하려면 담당자가 P4A에서 .p4ignore를 적용해주면 된다.
Saved/
Intermediate/
DerivedDataCache/
.pdb
obj/
.vcxproj
.sln
-Debug.*
FileOpenOrder/
Binaries/
Build/