질문 : Unity3D 소스 제어에 Git을 사용하는 방법은 무엇입니까?
특히 Unity 3D 프로젝트의 바이너리 특성을 처리 할 때 Unity 3D에서 Git 소스 제어를 사용하는 모범 사례는 무엇입니까? 워크 플로, .gitignore에 포함되는 경로, Unity 및 / 또는 프로젝트에서 설정해야하는 설정, 기타주의해야 할 기타 특수 사항을 설명하세요.
참고 : 에셋 서버를 사용하는 것이 Unity에서 권장하는 방법이라는 것을 알고 있지만 다양한 이유로 Git을 사용하고 싶습니다. 에셋 서버를 사용해야한다고 언급하거나 주장하는 답변은 삼가 해주십시오. 에셋 서버는 제게 옵션이 아닙니다.
답변
다음은 내 개인 블로그 에서 발췌 한 것입니다.
2015 년 10 월 업데이트 : GitHub는 이후 아래 문제를 직접 처리하는 Git LFS 라는 Git 용 플러그인을 출시했습니다. 이제 대용량 바이너리 파일을 쉽고 효율적으로 버전화할 수 있습니다!
Git은 기본적으로 3D 게임에서 잘 작동 할 수 있습니다. 그러나 여기서 주된주의 사항은 커밋 기록이 커짐에 따라 대용량 (> 5MB) 미디어 파일의 버전 관리가 장기적으로 문제가 될 수 있다는 것입니다. 이진 자산이 최종적으로 간주 될 때만 버전을 관리하여 프로젝트에서이 잠재적 인 문제를 해결했습니다. 우리의 3D 아티스트는 위의 이유와 훨씬 빠르고 간단하기 때문에 Dropbox 를 사용하여 WIP 에셋을 작업합니다 (많은 아티스트가 Git를 적극적으로 사용하고 싶어하지 않습니다!).
Git 워크 플로는 팀으로서의 자신의 경험과 함께 작업하는 방식을 고려할 때 스스로 결정해야하는 부분입니다. 하나. 여기에 원 저자가 설명한대로 적절하게 명명 된 Git Flow 방법론을 강력히 권장합니다.
저자가 그것을 완벽하게 설명하고 이해하기 쉽도록 방법론이 어떻게 작동하는지에 대해서는 여기서 너무 깊이 들어 가지 않을 것입니다. 저는 한동안 저희 팀과 함께 사용해 왔으며 지금까지 시도한 최고의 워크 플로입니다.
Git GUI 또는 GUI 사용 여부와 관련하여 상당히 많은 옵션이 있기 때문에 이것은 실제로 개인적인 선호입니다. 하지만 Git Flow 확장과 완벽하게 연결 되는 무료 SourceTree 애플리케이션 을 제안하고 싶습니다. 애플리케이션에서 Git Flow 방법론을 구현하는 방법에 대한 SourceTree 튜토리얼을 읽어보세요.
최신 버전 체크 아웃을 위해 Github는 OS 사양없이 Unity.gitignore 파일을 유지했습니다.
# =============== #
# Unity generated #
# =============== #
Temp/
Library/
# ===================================== #
# Visual Studio / MonoDevelop generated #
# ===================================== #
ExportedObj/
obj/
*.svd
*.userprefs
/*.csproj
*.pidb
*.suo
/*.sln
*.user
*.unityproj
*.booproj
# ============ #
# OS generated #
# ============ #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Unity 3D v4.3 이상 버전 :
여기에서 수행 방법에 대한 단계는 내 블로그 게시물을 확인하십시오.
Unity3D 프로젝트에서 Git을 사용할 때 겪는 몇 가지 주요 성가심 중 하나는 Git이 디렉토리에 대해 신경 쓰지 않고 파일을 제거한 후 기꺼이 빈 디렉토리를 남겨 두는 것입니다. Unity3D는 이러한 디렉토리에 대한 * .meta 파일을 만들고 Git 커밋이 이러한 메타 파일을 계속 추가하고 제거 할 때 팀 구성원간에 약간의 전투를 일으킬 수 있습니다.
Unity3D 프로젝트가있는 리포지토리의 /.git/hooks/
Git 사후 병합 후크를 /.git/hooks/ 폴더에 추가합니다. Git 풀 / 병합 후 제거 된 파일을 살펴보고 해당 파일이 존재하는 디렉토리가 비어 있는지 확인한 다음 삭제합니다.
출처 : https://stackoverflow.com/questions/18225126/how-to-use-git-for-unity3d-source-control
'개발관련 > Git' 카테고리의 다른 글
특정 파일의 변경 사항 만 git-cherry-pick하는 방법 (0) | 2021.08.09 |
---|---|
.gitignore와 .gitkeep의 차이점 (0) | 2021.08.05 |
원격 저장소로 푸시 된 Git에서 특정 커밋을 실행 취소 하는 방법 (0) | 2021.08.04 |
Git에서 분기 토폴로지 시각화 (0) | 2021.07.30 |
git 프로젝트의 'bin'디렉토리 무시 (0) | 2021.07.30 |