Jakie typy plików należy wykluczyć z repozytorium kontroli źródła mojej gry?

11

Rozpocząłem pracę nad osobistym projektem przy pomocy Unity z przyjacielem i stworzyliśmy własny system kontroli źródła.

Zdaję sobie sprawę z faktu, że istnieje wiele rodzajów plików, a mianowicie tych, które są generowane lokalnie podczas kompilacji (na przykład pliki Visual Studio) i tych, które są specyficzne dla konkretnego komputera, które nie powinny być dodawane do kontroli źródła, ale Nie jestem do końca pewien, jakie są te typy plików.

Nie chcę wykluczać żadnych generowanych plików, które powinienem uwzględnić, takich jak pliki .meta.

Czy ktoś mógłby wymienić wszystkie, a przynajmniej wszystkie typowe typy plików, których nie należy dodawać do kontroli wersji, szczególnie w przypadku projektu Unity?

SirYakalot
źródło

Odpowiedzi:

9

W bieżącej wersji Unity po prostu zaznacz wszystko w folderze Assets i ProjectSettings. Nie melduj się w Bibliotece ani na najwyższym poziomie.

Tetrad
źródło
8

Dobrym odniesieniem do tego rodzaju list są szablony gitignore GitHub . Lista specyficzna dla Jedności jest tutaj .

A jeśli uważasz, że czegoś brakuje, poproś o pociągnięcie!

Laurent Couvidou
źródło
5

Plik typu jest mniej ważne, przeznaczenia i pochodzenia danego pliku; jak już powiedziałeś, wszystko, co można wygenerować z plików źródłowych pod kontrolą wersji (zwykle), nie ma żadnego interesu w samym repozytorium.

Podobnie, wszystko, co specyficzne dla użytkownika, takie jak ustawienia lub pliki konfiguracyjne, powinno zostać wykluczone.

Poza tym to naprawdę zależy od Ciebie i Twojego projektu.


źródło
2
Przypuszczam, że tak naprawdę o to proszę, to krótka lista plików w standardowym projekcie jedności SĄ to pliki, które są generowane lub są specyficzne dla użytkownika. Oprócz plików, które ręcznie tworzę, jestem dość nieświadomy, co robić i skąd pochodzić.
SirYakalot,
Widzę. Zredagowałem twoje pytanie, aby wyjaśnić, że ponieważ bit Unity został usunięty do czasu, gdy go zobaczyłem (lub właśnie go przegapiłem).
3

Jako przykład możesz przyjrzeć się mojemu projektowi Unity, Radius , na GitHub. Lub Unity.gitignorepobierz plik z oficjalnego repozytorium gitignore GitHub.

Na jego stronie internetowej znajduje się także ładny przewodnik Damiena Mayance na temat projektów Git i Unity

Upewnij się, że rejestrujesz swoje .metapliki, ponieważ tego używa Unity w odniesieniu do każdego zasobu. Możesz je ukryć w swoim systemie operacyjnym, przechodząc do Edit->Project Settings->Editori zmieniając Version Controlna Visible Meta Files.

Jeśli przechowujesz swój projekt jedności w folderze o nazwie UnityProjectName, tak powinien wyglądać Twój .gitignore. Jeśli masz folder projektu Unity jako katalog główny repozytorium GitHub, po prostu usuń UnityProjectName/z każdej ścieżki poniżej.

.gitignore

# Ignore unneeded Unity files
# --------------------------------------------------
UnityProjectName/Temp/
UnityProjectName/obj/
UnityProjectName/Library/

UnityProjectName/*.csproj
UnityProjectName/*.unityproj
UnityProjectName/*.sln

# Ignore Custom Builds
# --------------------------------------------------
UnityProjectName/[Bb]uilds/
MLM
źródło
1

Nie wiem o jedności, ale wspomniałeś o studiu wizualnym. Tam zwykle można wykluczyć foldery bin i obj w folderach projektów (w niektórych typach projektów folder bin również przechowuje zestawy z dołączonych projektów, ale myślę, że dotyczy to tylko niektórych typów projektów internetowych).

Nie sprawdzaj także plików „.csproj.user” i „ .suo”. Te dwa typy obejmują ustawienia użytkownika. Jeśli je zaznaczysz, wszystkie ustawienia użytkownika zostaną odzwierciedlone na innych komputerach podczas aktualizacji źródła. Jest to dość irytujące, ponieważ te ustawienia nie są odpowiednie do kompilacji lub projektu, ale raczej do skonfigurowania interfejsu użytkownika, edytora itp. Dla indywidualnych potrzeb każdego programisty.

Tom Van Green
źródło