I'm new to Unity and I'm uncertain how to properly manage Asset Store packages. What I've been doing so far is downloading them through Package Manager and importing them into the project and simply commiting them to my git repo. I feel like this is not an optimal way to do things and just makes my repo bloated.
I imagined the solution to be like a classic package manager (pip, npm, nuget etc.) and stumbled upon this thread from 2018. The respones suggest that commiting everything to your version control is the way to go.
Is it still true in 2022?
My Solution for version control right now is to put my entire asset folder into .gitignore, and simply unignore my game folders along with anything I need to include in version control. This has worked quite well so far. You just have to make sure to put everything you want to include into the correct unignored folders (I usually create my own prefabs anyway, so this isn't a problem for me).
It's not perfect, but it's the best solution I've found.
If I make changes to imported assets, I move the specific files over to my own project folder that is not ignored. It's easy to forget things like terrain data that usually lands in the asset root folder, but you get used to it.
So, a typical .gitignore would end something like this.
Hope it helps.