WordPress has many moving parts that can be updated at the click of a button through its native tools. Keep your repository up to date by learning how to optimally configure your local .gitignore file. Benefits include: less merge conflicts, greater collaboration between developers and environments and of course, ease for clients and end user experience.
In a nutshell: What should you be versioning? Answer: YOUR themes or plugins you develop.
Optimizing your gitignore to version only the relevant code per your project, or directories can assist with allowing customers to update other features, such as WordPress Core and plugins that are not designed by your team. Your repository is then more streamlined and focused on code. This also excludes any configuration files that would cause issues between development environments. In the long run, you have less code to review/version and customers have the ease of use to know that only code is being updated for the theme and no potential issue with pushing anything unnecessarily.