No problem, we'll get there if you can be patient :) It's statistically likely we are in different timezones too, to make things more drawn out!
I don't think there is a right way and I'm not sure which part of the docs you are referring to. I wrote the chapter about deploying using Git and it works well for me.
Here's my .gitgnore template in the user folder:
You might also ignore user/env but I like to commit that. You could also add ignores for any custom plugins.
The reason I don't add Grav core files is because it's not code that I am authoring and I don't want to have to keep it up to date in the repository. It gets in the way. The only changes to it will be updates. Importantly, Grav is designed so that you never need to edit files outside user.
As for vendor and theme and plugin folders, they are typically excluded. I install and update them manually right now, but there is a way to automate it that I want to start doing. You can keep a manifest file in user (.dependencies I think). Then when you want to install a site's external dependencies, run bin/grav install from Grav's root. If I am not mistaken, that will download and install any plugins, themes, and their libraries. I keep a few personal forks of plugins, so the manifest makes using them much simpler. That's because you can edit the plugin's URL.
I hope that helps.