在Unity3D中使用Git源代码控制的最佳实践是什么,特别是在处理Unity3D项目的二进制性质时?请描述工作流程,.gitignore中将包含哪些路径,应该在Unity和/或项目中设置哪些设置,以及应该注意的任何其他特殊事项。
注意:我知道使用Asset Server是Unity推荐的方式,但出于各种原因,我想使用Git。请不要回答这个问题,也不要争辩我应该只使用Asset Server。Asset Server真的不是我的选择。
发布于 2016-02-03 01:42:17
除了以上所述的一切之外,将git lfs与Unity一起使用也是理想的选择。我一直在使用它,因为它出来了,我没有任何问题。
您需要将此.gitattributes
添加到.gitignore
文件旁边
*.cs diff=csharp text
*.cginc text
*.shader text
*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
*.physicsMaterial2D merge=unityyamlmerge eol=lf
*.physicsMaterial merge=unityyamlmerge eol=lf
*.asset merge=unityyamlmerge eol=lf
*.meta merge=unityyamlmerge eol=lf
*.controller merge=unityyamlmerge eol=lf
*.a filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.aif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.FBX filter=lfs diff=lfs merge=lfs -text
*.rns filter=lfs diff=lfs merge=lfs -text
*.reason filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text
这是我的滚动文件列表。如果使用未列出的其他二进制文件,请添加它们。
我还将文件配置为使用yamlmerge,您需要对其进行设置。你可以在这里阅读到:http://docs.unity3d.com/Manual/SmartMerge.html
发布于 2015-06-26 04:11:41
我想我可能会为任何感兴趣的人发布一个更简单的.gitignore
:
# Ignore Everything
/*
# Except for these
!/.gitignore
!/Assets
!/Packages
!/ProjectSettings
发布于 2017-09-26 23:11:05
我们现在已经与Github到unity扩展无缝集成到Unity了。https://unity.github.com/
新的Unity扩展为Unity带来了GitHub工作流和更多功能,提供了对带有Git LFS和文件锁定的大文件的支持。
在撰写本文时,该项目是alpha版本,但仍可用于个人项目。
https://stackoverflow.com/questions/18225126
复制相似问题