Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

버전 관리

Defold는 긴밀하게 공동작업하며 게임을 만드는 소규모 팀을 염두에 두고 설계되었습니다. 팀원들은 마찰을 거의 느끼지 않고 같은 컨텐츠에서 병렬로 작업할 수 있습니다. Defold에는 Git을 사용하는 버전 관리 기능이 내장되어 있습니다. Git은 분산 공동작업을 위해 설계되었으며, 다양한 워크플로우를 가능하게 하는 매우 강력한 도구입니다.

변경된 파일

로컬 작업 복사본에 변경 사항을 저장하면 Defold는 추가, 삭제 또는 수정된 각 파일을 나열하는 Changed Files 에디터 창에서 모든 변경 사항을 추적합니다.

변경된 파일

목록에서 파일을 선택하고 Diff를 클릭하면 파일에 적용한 변경 사항을 볼 수 있으며, Revert를 클릭하면 모든 변경 사항을 되돌리고 마지막 동기화 이후의 상태로 파일을 복원할 수 있습니다.

Git

Git은 주로 소스 코드와 텍스트 파일을 처리하도록 만들어졌으며, 이러한 파일 유형을 매우 작은 저장 공간으로 저장합니다. 각 버전 사이의 변경 사항만 저장되므로 모든 프로젝트 파일의 광범위한 변경 이력을 비교적 적은 비용으로 유지할 수 있습니다. 하지만 이미지나 사운드 파일 같은 바이너리 파일은 Git의 저장 방식에서 이점을 얻지 못합니다. 체크인하고 동기화하는 각 새 버전은 거의 같은 공간을 차지합니다. 최종 프로젝트 에셋(JPEG 또는 PNG 이미지, OGG 사운드 파일 등)에서는 보통 큰 문제가 아니지만, 작업 중인 프로젝트 파일(PSD 파일, Protools 프로젝트 등)에서는 빠르게 문제가 될 수 있습니다. 이러한 파일 유형은 보통 타겟 에셋보다 훨씬 높은 해상도로 작업하므로 매우 커지는 경우가 많습니다. 일반적으로 대용량 작업 파일을 Git의 관리 아래 두는 것은 피하고, 대신 별도의 스토리지와 백업 솔루션을 사용하는 것이 가장 좋다고 여겨집니다.

팀 워크플로우에서 Git을 사용하는 방법은 많습니다. Defold가 사용하는 방식은 다음과 같습니다. 동기화하면 다음 일이 일어납니다:

  1. 동기화 과정의 이후 단계에서 문제가 발생할 경우 복원할 수 있도록 모든 로컬 변경 사항이 stash됩니다.
  2. 서버 변경 사항을 pull합니다.
  3. stash를 적용합니다(로컬 변경 사항이 복원됩니다). 이 과정에서 해결해야 하는 병합 충돌이 발생할 수 있습니다.
  4. 사용자에게 로컬 파일 변경 사항을 commit할 수 있는 옵션이 제공됩니다.
  5. 로컬 commit이 있으면 사용자는 이를 서버에 push할지 선택할 수 있습니다. 이때도 해결해야 하는 충돌이 발생할 수 있습니다.

다른 워크플로우를 선호한다면 커맨드 라인이나 서드파티 어플리케이션에서 Git을 실행해 pull, push, commit, merge를 수행하고 여러 브랜치에서 작업하는 등의 방식으로 사용할 수 있습니다.