#What's an optimal repository setup?

1 messages · Page 1 of 1 (latest)

cerulean meadow
#

After having issues with unity and github, I decided to look up ways to deal with common issues. The reason being that in my last group project we spent a considerable amount of time on resolving issues caused by github and merge conflics.

I decided to go with this setup:
YAML smart merge - prefabs, scenes, assets, sprites, etc. to automatically resolve merge conflicts.
Git LFS - for large binaries like images, sound files, 3D objects, unity packages to prevent storage issues as the project scales.
Gitflow - to optimize the workflow.

Is this a good idea? I could not find any tutorials or guides setting things up in this particular way, so I'm worried it may have some issues. If it's not good, could you recommend an alternative?

slow sapphire
# cerulean meadow After having issues with unity and github, I decided to look up ways to deal wit...

Sounds good, though LFS is for all binary files and large assets of any kind that can’t be merged. Gitflow is not helpful for most projects, use trunk based development with short lived feature branches which you rebase & squash-merge onto main. Keep short release branches whenever you need a published artefact. Use gitflow only when you actually need it way down the road with large teams. Aim for simplicity while you can.

#

Depending on the type/size of your project, you will find that git will become a problem and you may want to opt for perforce/unity-vc to solve these issues (note that all VC systems are terrible in their own special way). Using packages to solve git issues is not the way to go. Packages should be used to solve your project or organization’s strategic issues. When you have actual storage issues, use perforce/unity-versioncontrol.

cerulean meadow
low geode
#

Be warned that lfs storage costs more usually so you may want to reserve it for files over 100mb (if using github as that is their per file size limit)

gleaming bobcat
#

Git LFS is great, but GitHub's LFS pricing is not great. Every time you commit and push a new version of an LFS file to GitHub, it will be stored permanently as part of that repo, and will count towards your storage quota. Even if you remove the files, they will still be in the history and still stored, and the only way to remove them is to delete the whole repo or go through customer support.

#

Microsoft (who own and host GitHub) also have another Git cloud service, Azure Repos, which has had free, unlimited LFS storage since 2018. If you can get past the annoying web interface and Microsoft account stuff, it's a much better option for using LFS.

low geode
#

Its dumb that github keep stuff forever like that and charge you for it 😐

slow sapphire