언리얼 리비전 컨트롤 은 포트나이트 언리얼 에디터(Unreal Editor for Fortnite, UEFN)의 커스텀 임베디드 리비전 컨트롤 기능입니다.
리비전 컨트롤은 각 개인과 팀 멤버 또는 협업자들이 서로 다른 버전의 프로젝트 파일을 저장하고, 변경사항을 트래킹하고, 프로젝트의 프라이머리 소스 파일을 유지하고, 필요하다면 이전 프로젝트 버전으로 롤백할 수도 있는 방법입니다.
리비전 컨트롤 개요
리비전 컨트롤은 소스 컨트롤과 비슷하지만 완전히 같지는 않습니다. 소스 컨트롤은 텍스트 기반 파일과 관련된 반면, 리비전 컨트롤은 프로젝트 및 파일 버전과 관련되어 있습니다.
언리얼 리비전 컨트롤은 프로젝트 및 개별 프로젝트 파일에 적용된 변경사항을 트래킹하는 안정적인 방법입니다. 리비전 컨트롤은 변경 내역을 보관하여 파일 변경 주체와 대상 파일, 변경 시기, 변경 이유를 트래킹합니다.
리비전 컨트롤은 체크인된 파일의 기록을 보관합니다. 변경사항은 체크인을 통해 프로젝트 및 프로젝트 에셋에 적용되고 그 내역은 기록됩니다. 자신과 팀이 일관적이고 주기적으로 변경사항을 체크인한다면 최초 생성한 파일까지 거슬러 올라가는 기록을 보유하게 됩니다.
즉, 모든 UEFN 프로젝트에는 프로젝트 파일이 생성되고 에셋이 체크인된 날부터 프로젝트 관련 정보가 담긴 기본 파일이 있습니다. 프로젝트가 진행됨에 따라 파일들은 리비전 컨트롤에서 추가 및 제거됩니다.
언리얼 리비전 컨트롤은 파일이 체크아웃될 때 변경사항을 트래킹하고, 변경된 파일을 프라이머리 소스 파일로 병합하고, 프로젝트의 새 스냅샷을 캡처하여 새 프라이머리 소스 파일로 삼습니다. 이것이 프로젝트의 '소스'가 됩니다.
언리얼 리비전 컨트롤은 모든 프로젝트에 대한 저장소를 유지하며, 여기에는 지금까지 적용된 모든 변경사항과 프로젝트의 현재 상태가 포함됩니다. 언리얼 리비전 컨트롤이 활성화되어 있으면 UEFN에서 변경 내역을 조회하고 변경사항을 되돌릴 수 있습니다.
모범 사례
아래에는 언리얼 리비전 컨트롤의 모범 사례 중 일부가 정리되어 있습니다.
- 항상 새로 생성하는 프로젝트에서 리비전 컨트롤을 추가합니다.
- 언리얼 리비전 컨트롤을 사용할 때마다 변경사항을 주기적으로 체크인합니다.
- 언리얼 리비전 컨트롤 외에 여러 리비전 컨트롤 방식을 활성화하지 않습니다. 파일 시스템의 동일 프로젝트/위치에 여러 리비전 컨트롤 또는 백업 시스템을 활성화하는 경우, 어느 쪽에서든 확실하게 레퍼런스할 수 있는 소스가 없기 때문에 예상치 않은 행동이 발생할 수 있습니다.
- 프로젝트를 열 때는 변경하기 전에 항상 최신 동기화 를 합니다.
- 협업을 하는 경우에는 자신이 어떤 파일을 체크아웃했는지 팀 멤버에게 알립니다.
- 팀 단위로 작업하는 경우 팀 멤버별 에셋 체크아웃 우선순위를 합의합니다.
- 다른 개발자가 프로젝트 또는 오브젝트를 체크아웃한 시점을 식별할 수 있도록 프로젝트 및 프로젝트 내 오브젝트에 대한 리비전 컨트롤의 시각적 정보를 잊지 말고 확인하여 상충과 오류를 방지합니다.
- 다른 사용자가 에셋을 체크아웃했으며 현재 프로젝트/오브젝트를 편집 중이라는 알림을 확인합니다.
- 팀 멤버에게 편집을 위해 프로젝트를 인계하는 경우에는 동료 개발자에게 변경사항에 대해 전달합니다.
- 자신의 변경사항이 다른 개발자의 작업과 상충할 것 같은 경우 프로젝트를 동기화하기 전에 먼저 자신의 변경사항을 기록합니다.
- 필요한 경우 에셋 편집 스케쥴을 만들어 상충과 오류를 줄입니다.
- 모든 프로젝트 에셋을 체크아웃하는 것은 피합니다. 이 경우 다른 개발자가 작업하지 못할 수 있습니다.
- 프로젝트에서 기능이나 영역을 변경할 예정이라면 우선 해당 파일을 미리 확인합니다. 이러면 다른 팀 멤버의 변경사항과 상충을 방지할 수 있습니다.
- 현재 체크아웃한 스냅샷을 제출하기 전에 자신과 다른 사용자가 확인할 수 있도록 어떤 작업이 이루어졌는지 설명을 기재합니다.