Quels types de fichiers dois-je exclure du référentiel de contrôle source de mon jeu?

11

J'ai commencé à travailler sur un projet personnel avec Unity avec un ami et nous avons mis en place notre propre système de contrôle de source.

Je suis conscient du fait qu'il existe de nombreux types de fichiers, à savoir ceux qui sont générés localement lorsque vous générez (par exemple, les fichiers Visual Studio) et ceux qui sont spécifiques à votre machine particulière qui ne doivent pas être ajoutés au contrôle de code source, mais Je ne sais pas exactement quels sont ces types de fichiers.

Je ne veux pas exclure les fichiers générés que je devrais inclure, tels que les fichiers .meta.

Quelqu'un pourrait-il répertorier tous, ou au moins tous les types de fichiers courants qui ne devraient pas être ajoutés au contrôle de version, en particulier pour un projet Unity?

SirYakalot
la source

Réponses:

9

Avec la version actuelle d'Unity, archivez simplement n'importe quoi dans le dossier Assets et le dossier ProjectSettings. Ne consignez rien sous Bibliothèque ou au niveau supérieur.

Tetrad
la source
8

Une bonne référence pour ce type de listes est les modèles gitignore de GitHub . La liste spécifique à Unity est ici .

Et si vous sentez qu'il manque quelque chose, faites une pull request!

Laurent Couvidou
la source
5

Le type de fichier est moins important que le but et l'origine du fichier; comme vous l'avez dit, tout ce qui peut être généré à partir des fichiers source sous contrôle de version (généralement) n'a rien à faire dans le référentiel lui-même.

De même, tout ce qui est spécifique à l'utilisateur, comme les paramètres ou les fichiers de configuration, doit être exclu.

Au-delà, cela dépend vraiment de vous et de votre projet.


la source
2
Je suppose que ce que je demande vraiment, c'est une courte liste des fichiers d'un projet standard d'unité qui sont générés ou spécifiques à l'utilisateur. Mis à part les fichiers que je crée manuellement, je ne sais pas trop quoi faire quoi et d'où.
SirYakalot
Je vois. J'ai modifié votre question pour clarifier cela, car le bit Unity avait été supprimé au moment où je l'ai vu (ou je l'ai juste raté).
3

Vous pouvez jeter un œil à mon projet Unity, Radius , sur GitHub à titre d'exemple. Ou consultez le Unity.gitignorefichier dans le référentiel officiel de GitHub gitignore.

Il y a aussi un joli guide de Damien Mayance sur son site web sur les projets Git et Unity

Assurez-vous d'archiver vos .metafichiers car c'est ce que Unity utilise pour référencer chaque élément. Vous pouvez les masquer dans votre système d'exploitation en accédant à Edit->Project Settings->Editoret en changeant Version Controlen Visible Meta Files.

Si vous stockez votre projet d'unité dans un dossier appelé UnityProjectName, voici à quoi devrait ressembler votre .gitignore. Si vous avez simplement le dossier de projet Unity comme racine du référentiel GitHub, supprimez simplement le UnityProjectName/de chaque chemin ci-dessous.

.gitignore

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

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

# Ignore Custom Builds
# --------------------------------------------------
UnityProjectName/[Bb]uilds/
MLM
la source
1

Je ne connais pas l'unité mais vous avez mentionné le studio visuel. Là, vous pouvez généralement exclure les dossiers bin et obj dans les dossiers de projet (dans certains types de projets, le dossier bin stocke également les assemblys des projets inclus, mais je pense que cela ne s'applique qu'à certains types de projets Web).

N'archivez pas non plus les fichiers ".csproj.user" et " .suo". Ces deux types incluent les paramètres utilisateur. Si vous les archivez, tous les paramètres utilisateur seront reflétés sur les autres machines, lorsque vous mettrez à jour la source. C'est assez ennuyeux, car ces paramètres ne sont pas pertinents pour la construction ou le projet mais plutôt pour configurer l'interface utilisateur, l'éditeur, etc. pour les besoins individuels de chaque développeur.

tom van green
la source