소스 컨트롤에서 어떤 Unreal Engine 4 프로젝트 파일을 무시할 수 있습니까?


30

git을 사용하여 Unreal Engine 4 프로젝트를 소스 제어하에두고 싶습니다. (편집기가 Perforce 및 Subversion을 지원한다는 것을 알고 있지만 신경 쓰지 않습니다.)

저장소에 어떤 폴더와 파일이 포함되어 있으며 어떤 폴더와 파일을 무시할 수 있습니까?

내가 볼때는, 다음이 필요하다 : Config, Content, Source, *.sln,*.uproject

내가 무시할 수있는 것들 : Binaries, DerivedDataCache, Intermediate, Saved, *.suo, *.sdf,*.opensdf

이 올바른지?


2
.sln이있는 경우 일반적으로 .vXX.suo 파일 (보이지 않는 파일)이 있으며이 파일에는 사용자 별 옵션이 포함되어 있으므로 무시할 수 있습니다.
Josh

2
Github는 다양한 프로젝트에 대한 무시 파일 목록을 유지 관리 합니다 . 아직 Unreal4에 대한 항목이 없습니다. 완벽한 목록을 찾으면 풀 요청을 제출하여 추가해야 할 수 있습니다.
Seth Battin

이미 VS 임시 파일을 무시했지만 모든 사람에게 명확하게 해 주셔서 감사합니다. 나는 그것을 반영하기 위해 질문을 수정했다.
rioki

@rioki git 작업에 대한 인상은 무엇입니까? 어제 UE와 함께 일한 전나무 시간이었고 500MB의 하드 디스크 공간을 사용한 간단한 수준을 절약했습니다. git이 동기화하기에는 너무 많은 데이터입니다.

답변:


17

Windows 용 GitHub를 사용하고 있습니다. 로그 파일과 같은 외부 파일이나 공유 할 필요가없는 VS 관련 파일을 무시하고 멋진 파일을 생성합니다.

Unreal docs의이 페이지에서 수집 할 수있는 것에서 다음 디렉토리를 무시할 수 있습니다.

DerivedDataCache
Intermediate
Saved

VS가없는 레벨 디자이너와 함께 작업하고 빌드 한 DLL 파일이 필요하기 때문에 바이너리를 무시하지 않을 것입니다.

프로젝트를 만들 때 gitignore를 생성하는 Windows 용 Git을 사용하고 있다는 점을 다시 한 번 명심하십시오. 나는 단지 다음을 커밋하고 있습니다 (여기서 "ReallyCoolGame"은 프로젝트의 이름입니다) :

.gitattributes
.gitignore
Binaries
Config
Content
Source
ReallyCoolGame.sln
ReallyCoolGame.uproject

나는 단지 이것을 저 자신에게 맡겼으 며, 아직 레벨 디자이너와 함께 테스트하지 않았으므로주의하십시오.

또한 1 인칭 C ++ 템플릿을 사용하여 생성 한 프로젝트에 대해 언급하고 있는데,이 템플릿 은 언리얼 엔진 소스 디렉토리 구조가 아닌 E:\Documents\Unreal Projects\ReallyCoolGame( My Documents == E:\Documents내 컴퓨터에) 저장됩니다 .

편집 : 또한 모든 기본 컨텐츠를 포함하고 싶지 않으므로 프로젝트와 동일한 이름의 게임 자산 자체를 위해 Content 내에 서브 디렉토리를 만들고 Content의 다른 모든 서브 디렉토리를 무시합니다. 따라서 내 .gitignore 상단의 줄은 다음과 같습니다.

DerivedDataCache
Intermediate
Saved
Content/*
!Content/ReallyCoolGame

레벨 디자이너는 Content/ReallyCoolGame대신 모든 자산을 넣을 것입니다 .

최신 정보:

Intermediate 디렉토리에는 실제로 프로젝트를 빌드하는 데 필요한 Visual Studio의 프로젝트 파일이 포함되어 있습니다. Intermediate 디렉토리가 무시되면 Visual Studio 솔루션에서 찾을 수 없으므로 프로젝트를 빌드 할 수 없습니다. 그러나 이에 대한 두 가지 쉬운 해결 방법이 있습니다.

1) 중간 디렉토리를 무시하지 마십시오. 물론이 경우 Visual Studio는 여전히 필요한 모든 프로젝트 파일을 찾고 프로젝트를 빌드 할 수 있습니다.

2)이 방법은 특히 버전 제어에 더 좋습니다. Unreal Engine 4 편집기에서 프로젝트를 열고 "파일> Visual Studio 프로젝트 새로 고침"으로 이동하십시오. 그러면 새로운 솔루션 파일이 모두 생성되므로 커밋 할 필요가 없으며 프로젝트 폴더의 * .sln을 .gitignore 파일에 추가 할 수 있습니다.

또한 Visual Studio는 솔루션을 열 때 새 파일을 생성하기 때문에 * .suo 및 * .sdf 파일은 일반적으로 무시할 수 있습니다.


기본 콘텐츠 문제를 다르게 해결했습니다. 시작 컨텐츠를 생성 된 프로젝트에 추가하지 않았습니다. 시작할 재료를 만드는 것은 실제로 케이크 한 조각이며 일단 심각 해지면 내 자산을 갖게됩니다. 이렇게하면 프로젝트에서 100MB의 파일이 제거됩니다.
rioki

14

UE4의 공개 버전과 광산의 차이점을 모르겠지만 다음은 .gitignore내가 사용 하고있는 파일입니다.

Engine/Binaries/
Engine/DerivedDataCache/
Engine/Intermediate/
Engine/Plugins/*/*/Binaries/
Engine/Plugins/*/*/Intermediate/
Engine/Programs/UnrealHeaderTool/
Engine/Programs/UnrealPak/
Engine/Saved/
Engine/Shaders/Binaries/
Engine/Source/*/*/*/obj/
Engine/Source/*/*/obj/
Engine/Source/*/obj/

UE4.opensdf
UE4.sdf
UE4.sln
UE4.suo
UE4.*.suo

GameName/Binaries/
GameName/DerivedDataCache/
GameName/Intermediate/
GameName/Saved/

1
UE의 소스 3을 가진 게임 프로젝트가 있습니까? 엔진의 사용자 정의 빌드가있는 경우 이것이 의미가 있지만 주식 엔진을 사용하고 있습니다. 기본적으로 GameName / *이 필요하고 VS는 무시합니다.
rioki

예, 엔진에는 많은 수정이 필요하며 업스트림 UE는 정기적으로 저장소에 병합됩니다.
sam hocevar

FWIW, UE3와 함께 작업 할 때 핵심 UE 소스 트리 내에 게임 프로젝트가 있었고 이것이 SOP라는 인상을 받았습니다. 엔진 모드도 수행해야한다는 것을 거의 보증 할 것입니다. UE + Your Game을 단일 '엔티티'로 간주하면 모든 것을 추적하는 것이 훨씬 쉽습니다.
Steven Stadnicki

0

이것이 내 .gitignore에있는 것입니다.

#Unreal Engine
StarterContent/
Saved/
Binaries/
Build/
Debug/
Intermediate/
DerivedDataCache/
UnrealHeaderTool/
UnrealPak/
obj/
*.VC.opendb
*.opensdf
*.sdf
*.suo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.