소스 코드 관리 이해
소스 코드 관리를 사용하면 팀이 DevOps 워크플로를 통해 빠르게 작업하고 효율적으로 협업할 수 있습니다. 소스 코드 관리 툴, 사용 시기 및 작동 방식에 대해 알아야 할 모든 내용을 알아보세요.
SCM(소스 코드 관리) 시스템은 팀이 협업하고 프로젝트의 소스 코드 저장소("리포지토리"라고도 함)를 수정하는 데 도움이 되는 툴입니다. 이 툴은 시간의 경과에 따른 코드 저장소의 변경 사항을 추적하여 작동합니다.
소스 코드 관리 시스템을 사용하는 팀은 동일한 프로젝트에서 동시에 작업할 수 있습니다. 각 개별 변경 사항 및 업데이트는 모든 것을 함께 그룹화하는 "커밋" 형식으로 소스 코드 저장소에 추가할 수 있습니다. 단일 커밋으로 그룹화된 변경 사항을 개별적으로 검토 및 업데이트하거나 전체 그룹을 취소할 수 있습니다. 커밋 내에서 이 전체 이력에 액세스하면 버그를 쉽게 식별하고 이전에 제거된 기능을 간단히 복원할 수 있습니다.
버전 관리라고도 하는 소스 코드 관리는 팀이 프로젝트의 코드 및 에셋 업데이트를 추적하고 관리하는 방법입니다. 소스 코드 관리는 프로젝트의 코드베이스에 기여하는 프로그래머, 아티스트, 다른 팀원들을 위한 정보 출처라고 생각할 수 있습니다.
효과적인버전 관리 시스템을 통해 팀은 정기적으로 프로젝트를 백업할 수 있을 뿐만 아니라 병합 충돌과 같은 예기치 않은 이벤트가 발생하는 경우 이전 버전으로 롤백할 수 있습니다. 병합 충돌은 소스 코드에 두 가지 다른 변경 세트가 동시에 추가되고 버전 관리 시스템이 프로젝트에 병합할 변경 세트를 결정할 수 없을 때 발생합니다.
다양한 이해관계자의 협력과 신속한 반복 작업을 통해 고품질 프로젝트를 적시에 제공할 수 있도록 지원하는 버전 관리는 개발자 작업의 핵심입니다.
팀에 가장 적합한 소스 코드 관리 툴을 찾아 적시에 적용하는 것은 매우 중요합니다. 프로젝트의 시작이나 끝 시점이 새로운 소스 관리 툴을 도입하기에 이상적인 시기입니다. 툴을 적용하려면 잠재적으로 전체 팀이 기존 워크플로를 조정해야 하기 때문에 어려울 수 있으며, 프로젝트가 한창 진행 중일 때는 특히 더 어려운 프로세스입니다.
소스 코드 관리를 위해 새로운 툴을 고려하고 있을 때 무엇을 확인해야 하는지 궁금하신가요? 작업할 파일 유형 및 파일 크기, 전체 팀의 기술적 능력, 비용, 보안 요구 사항, 팀에 필요한 유연성과 같은 요소들을 고려하세요.
Unity 블로그에서 다음 버전 관리 툴을 평가하는 방법에 대해 자세히 알아보세요.
게임 개발 프로세스의 일부로 소스 코드 관리를 구현하는 이유는 많습니다. 가장 분명한 이유는 프로젝트를 더욱 효과적으로 제어할 수 있다는 것입니다. 효과적인 소스 코드 관리 소프트웨어는 기술 전문 수준에 관계없이 모든 사람이 각자의 프로젝트 파트를 독립적으로 작업할 수 있도록 지원하는 동시에 의도하지 않게 소스 코드를 손상시키는 모든 변경 사항을 쉽게 취소할 수 있습니다. 이는 브랜치 기능을 통해 이루어집니다.
브랜치 기능을 지원하는 소스 코드 관리 시스템은 프로그래머가 주 프로젝트('트렁크'라고 함)에서 각자의 파일을 분리하고 별도의 '브랜치'에서 변경 사항과 업데이트를 테스트할 수 있는 기능을 제공합니다. 변경 사항이 안정적인 것으로 확인되면 트렁크에 다시 병합할 수 있습니다.
일반적으로 소스 코드 관리 툴은 클라우드 또는 분산 서버에 정보를 저장하여 시간대와 지역에 관계없이 협업을 향상시킵니다. 특히 파일 기반 워크플로를 사용하는 경우 이러한 솔루션을 사용하면 더 큰 프로젝트 파일로 작업하기가 더 쉬워집니다. 파일 기반 워크플로를 사용하면 아티스트와 같은 팀원이 전체 프로젝트를 다운로드하지 않고도 개별 프로젝트 파일을 변경할 수 있어 시간을 크게 절약할 수 있습니다.
Unity의 소스 코드 관리 솔루션은 여기에 나열된 모든 이점을 제공합니다. 프로그래머와 아티스트가 사용하기 쉽고 유연하며, 대용량 저장소와 바이너리 파일을 지원하고 파일 기반 워크플로를 사용하여 작동합니다. Unity 소스 코드 관리는 수천 개의 분기를 동시에 지원할 수 있으며 시각적 브랜칭 기능을 제공하는 유일한 버전 관리입니다.
버전 관리는 팀원 모두에게 유용하므로 게임 개발에 이상적입니다. 유용한 SCM 툴을 통해 아티스트에서 프로그래머에 이르기까지 모든 팀원이 소스 코드 손상에 대한 걱정 없이 독립적으로 프로젝트에 기여할 수 있습니다.
Unity 플랫폼을 벗어나지 않고도 브랜치 및 병합, 팀원과의 동기화, 프로젝트 이력 검토를 모두 수행할 수 있습니다. 강력한 버전 관리 툴을 사용하면 노동력을 분산하지 않고 중요한 제작 활동에 집중할 수 있습니다.
DevOps 방법론을 사용하고 수동 작업을 자동화하면 게임 개발의 효율성이 더욱 향상됩니다. DevOps 라이프사이클의 7가지 단계를 숙지하고 시작하세요.
모든 게임 스튜디오에서는 제작 시간을 단축하면서 시간의 압박으로부터 해방되고자 하며, DevOps는 이를 실현하는 최적의 방법입니다. DevOps 방법론의 핵심 원칙을 알아보고 시작하세요.
DevOps 방식을 구현하면 개발 파이프라인을 간소화하고 팀과 사용자의 만족도를 향상할 수 있습니다. DevOps를 사용하면 어떤 도움이 되는지 알아보세요.
분산형 및 중앙 집중형 작업 구조를 모두 사용하고 파일 기반 및 변경 세트 기반 워크플로를 모두 사용하여 대용량 바이너리 파일을 쉽게 관리합니다. 모든 엔진에서 작동하지만 Unity와 가장 잘 통합되는 안전한 플랫폼 내에서 소스 코드와 에셋을 저장하고 모든 프로젝트 변경 사항을 추적하세요.
Plastic SCM 버전 관리의 주요 기능
Unity의 소스 관리 툴인 Plastic SCM이 팀 간에 어떻게 원활하게 작동하는지, 대규모 프로젝트 작업에 얼마나 최적화되어 있는지 알아보세요.