Những tập tin dự án Unreal Engine 4 nào tôi có thể bỏ qua trong kiểm soát nguồn?


30

Tôi muốn đặt một dự án Unreal Engine 4 dưới sự kiểm soát nguồn với git. (Tôi biết biên tập viên có hỗ trợ Perforce và Subversion, nhưng tôi không quan tâm đến những thứ đó.)

Tôi bao gồm thư mục và tệp nào trong kho lưu trữ và tôi có thể bỏ qua thư mục nào?

Con đường tôi nhìn thấy nó, sau đây là cần thiết: Config, Content, Source, *.sln,*.uproject

Những điều mà tôi có thể bỏ qua: Binaries, DerivedDataCache, Intermediate, Saved, *.suo, *.sdf,*.opensdf

Điều này có đúng không?


2
Nếu có .sln, thường có tệp .vXX.suo (thường là vô hình) mà bạn có thể muốn bỏ qua vì nó chứa các tùy chọn dành riêng cho người dùng.
Josh

2
Github duy trì một danh sách các tập tin bỏ qua cho các dự án khác nhau. Không có mục nào cho Unreal4. Nếu bạn tìm thấy danh sách hoàn hảo, có lẽ bạn nên gửi yêu cầu kéo để thêm nó vào đó.
Seth Battin

Tôi đã bỏ qua các tệp tạm thời VS, nhưng cảm ơn bạn đã làm cho nó rõ ràng với mọi người. Tôi đã sửa đổi câu hỏi để phản ánh điều đó.
rioki

@rioki Ấn tượng của bạn khi làm việc với git là gì? Hôm qua là thời gian linh hoạt mà tôi đã làm việc với UE và tiết kiệm mức đơn giản sử dụng 500mb dung lượng ổ cứng của tôi. Đó là quá nhiều dữ liệu để git đồng bộ hóa.

Câu trả lời:


17

Tôi đang sử dụng GitHub cho Windows để tạo ra một gitignore đẹp, bỏ qua hầu hết các tệp không liên quan như tệp nhật ký hoặc tệp cụ thể cho VS không cần chia sẻ.

Từ những gì tôi có thể thu thập từ trang này trong các tài liệu Unreal , có lẽ bạn có thể bỏ qua các thư mục này:

DerivedDataCache
Intermediate
Saved

Tôi sẽ không bỏ qua Binaries, nếu chỉ vì tôi đang làm việc với một nhà thiết kế cấp độ không có VS và vì vậy sẽ cần các tệp DLL mà tôi xây dựng (tôi giả sử, tôi có thể sai).

Một lần nữa, hãy nhớ rằng tôi đang sử dụng Git cho Windows để tạo gitignore cho bạn khi bạn tạo một dự án và nó khá lớn. Tôi gần như chỉ cam kết những điều sau đây (trong đó "reallyCoolGame" là tên dự án của bạn):

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

Tôi chỉ tự mình thực hiện điều này và tôi chưa thử nghiệm nó với nhà thiết kế cấp độ của tôi, vì vậy hãy cẩn thận.

Ngoài ra, tôi đang đề cập đến một dự án được tạo bằng mẫu C ++ của người thứ nhất, được lưu vào: E:\Documents\Unreal Projects\ReallyCoolGame( My Documents == E:\Documentstrên máy của tôi) và không nằm trong cấu trúc thư mục nguồn Unreal Engine.

Chỉnh sửa: Tôi cũng không muốn bao gồm tất cả nội dung mặc định, vì vậy tôi sẽ có một thư mục con trong Nội dung chỉ dành cho chính tài sản trò chơi có cùng tên với dự án và bỏ qua tất cả các thư mục con khác của Nội dung. Vì vậy, các dòng ở đầu .gitignore của tôi bây giờ trông như sau:

DerivedDataCache
Intermediate
Saved
Content/*
!Content/ReallyCoolGame

Và nhà thiết kế cấp sẽ Content/ReallyCoolGamethay thế tất cả tài sản của chúng tôi .

CẬP NHẬT:

Thư mục trung gian thực sự chứa các tệp dự án của Visual Studio, cần thiết để xây dựng dự án. Nếu thư mục Trung gian bị bỏ qua, bạn sẽ không thể xây dựng dự án vì giải pháp Visual Studio sẽ không tìm thấy. Nhưng có hai cách giải quyết dễ dàng cho việc này.

1) Chỉ cần bỏ qua thư mục Trung gian. Tất nhiên trong trường hợp đó Visual Studio vẫn sẽ tìm thấy tất cả các tệp dự án cần thiết và có thể xây dựng dự án.

2) Điều này thậm chí còn tốt hơn, đặc biệt là đối với kiểm soát phiên bản: Mở dự án của bạn trong trình chỉnh sửa Unreal Engine 4 và đi đến "Tệp> Làm mới Dự án Studio Visual". Điều này sẽ tạo ra một tệp giải pháp hoàn toàn mới cho bạn, điều đó có nghĩa là bạn thậm chí sẽ không cần phải cam kết và có thể thêm * .sln trong thư mục dự án vào tệp .gitignore.

Ngoài ra, các tệp * .suo và * .sdf nói chung có thể bị bỏ qua, vì Visual Studio chỉ tạo các tệp mới khi bạn mở giải pháp của mình.


Tôi đã giải quyết vấn đề với nội dung mặc định khác nhau. Tôi đã không thêm nội dung khởi động vào dự án được tạo. Xây dựng các tài liệu để bắt đầu thực sự là một miếng bánh và một khi nó trở nên nghiêm trọng, tôi sẽ có tài sản của riêng mình. Điều này loại bỏ một cái gì đó như 100 MB tệp từ dự án.
rioki

14

Tôi không biết sự khác biệt giữa phiên bản công khai của UE4 và của tôi, nhưng đây là .gitignoretệp tôi đang sử dụng:

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
Bạn có dự án trò chơi của bạn với nguồn ba của UE? Nếu bạn có một bản dựng tùy chỉnh của động cơ thì điều này có thể có ý nghĩa, nhưng tôi đang sử dụng công cụ chứng khoán. Về cơ bản tôi chỉ cần GameName / * và VS bỏ qua.
rioki

Có, động cơ cần rất nhiều sửa đổi và UE ngược dòng thường xuyên được sáp nhập vào kho lưu trữ.
sam hocevar

FWIW, khi tôi làm việc với UE3, chúng tôi cũng đã có dự án trò chơi của mình trong cây nguồn UE cốt lõi và ấn tượng của tôi là đây là SOP. Tôi gần như sẽ đảm bảo rằng bạn cũng sẽ cần phải thực hiện các mod động cơ, và việc theo dõi mọi thứ sẽ dễ dàng hơn nhiều nếu bạn coi UE + Trò chơi của bạn là một 'thực thể' duy nhất.
Steven Stadnicki

0

Đây là những gì tôi có trong .gitignore của tôi

#Unreal Engine
StarterContent/
Saved/
Binaries/
Build/
Debug/
Intermediate/
DerivedDataCache/
UnrealHeaderTool/
UnrealPak/
obj/
*.VC.opendb
*.opensdf
*.sdf
*.suo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.