Unity 버전 관리 모범 사례?


11

Unity, 특히 코드가 아닌 장면이나 프리 팹과 같은 객체에서 버전 제어를 사용하는 방법에 약간 혼란 스럽습니다.

최근에 동료와 같은 장면의 다른 부분에서 작업 할 때 문제가 발생했습니다. 갈등, 분기 및 합병으로 이어졌습니다.

결국 내 수정은 어쨌든 그의 변경에 의해 무시되었습니다.

내가 지금 볼 수있는 유일한 방법은 우리가 같은 물체에서 교대로 일하는 것입니다. 그러나 특히 현재 수행중인 모든 작업이 장면에 있기 때문에 매우 편리하지 않습니다.

이러한 상황에서 사람들은 일반적으로 무엇을합니까?

(우리는 Mercurial, BitBucket 및 SourceTree를 사용하고 있습니다.)


1
음. 질문 한 후 5 분 이내에 다운 보트를받은 이유에 대해 언급 할 수 있습니까? 문제가 무엇인지 모른다면 더 나은 질문을 할 수 없습니다.
Kaworu

2
나는 또한 이것에 부딪쳤다. 스크립트를 아무 문제없이 넣을 수는 있지만 장면 등이 더 어려워 보입니다.
Ewan

1
이러한 장면 파일은 병합하기 어려운 텍스트 파일입니까, 아니면 덜 이진 파일입니까? 그들이 바이너리라면, Unity 는 그에 대한 병합 (그리고 아마도 diff?) 도구를 제공하는 것 같습니다 .
Nathan Cooper

@NathanCooper 그들은 내가 알 수있는 한 바이너리입니다. 적어도 그들은 바이너리처럼 행동하고 텍스트 편집기에서 그것들을 열면 다른 컴파일 된 파일과 같은 mumbo-jumbo로드가 나옵니다. Smart Merge에 대해 몰랐습니다. 감사!
Kaworu

답변:


6

GitHub를 사용하는 경우 다음 해결책을 시도해 볼 수 있습니다.

  1. 유니티에서 편집-> 프로젝트 설정-> 편집기를 열고 프로젝트 설정 관리자에서
  2. "버전 제어 모드"를 "표시되는 메타 파일"로 변경하십시오.
  3. "자산 직렬화 모드"를 "강제 텍스트"로 변경하십시오.

이것은 나를 위해 잘 작동합니다.


3

대부분의 VCS (버전 제어 시스템)는 텍스트 용으로 설계되었습니다. 일반적으로 diff소스 코드 를 비교 ( )하고 병합 하기위한 매우 강력하고 편리한 기능이 있으며, 일부 도구는 자동으로 변경 사항을 병합 할 수도 있습니다 (변경 사항을 병합하는 방법과 개발자가 수행해야하는 시점을 추측하는 적절한 작업 수행). 수동 병합).

diff해당 파일을 사용하는 각 응용 프로그램에서 이진 파일을 더 잘 지원 하고 병합 하는 것이 좋습니다 . 예를 들어, Microsoft Word를 사용하면 두 문서를 비교할 수 있으며 편리한 병합 도구와는 거리가 멀지 만 여전히 낫지 않고 여러 번 시간을 절약 할 수 있습니다. 불행히도 병합 기능은 일반적으로 소프트웨어 제품에서 감독되거나 구현하기가 어렵습니다 ( diff3D 장면을 어떻게 시각화 합니까?)

이진 파일에 관해서는 VCS의 도움이 거의 없습니다. 연속적인 변경 사항을 효율적으로 저장할 수있을뿐만 아니라 변경 사항을 병합하는 데 도움이되지도 않습니다.

2 년 전 비디오 편집 소프트웨어의 버전 제어 사용 과 관련하여 매우 비슷한 질문을했습니다 . 내 질문에 대한 답변이 여기에도 부분적으로 적용된다고 생각하지만 유일한 중요한 차이점은 내 질문에 큰 파일이 있다는 것입니다. 귀하의 경우 바이너리 파일은 비교적 작습니다.

당신이 찾은 접근 방식, 즉 "같은 객체에서 교대로 작업하기"는 좋은 방법입니다. 병합 할 수없는 경우 동일한 항목에서 병렬로 작업하지 마십시오. 같은 사무실에서 일하면 쉽게 할 수 있습니다. 그렇지 않은 경우 대부분의 버전 제어 시스템 ( 사용하는 시스템 포함 ; 여기 에서 BitBucket과 관련하여 설명 ) 은 VCS 사용자가 시스템을 통해 지정된 파일에서 작업하고 있음을 알 수 있도록 구성되는 잠금을 지원 합니다. 지금; 다른 사용자는 최신 버전의 파일을로드 할 수 있지만 변경할 수는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.