The Continuous Integration (CI) module is - as David says - a good route for keeping your development environments up to date, but I wouldn't recomment it for updateing your production server.
What the CI module will do is also give you a mechanism to identify the changes that have been meade between the two commits by running a name only diff on the CIRepository folder:
git diff 23b692a 71e0cc9 --name-only CMS/App_Data/CIRepository
You can then use this to fairly quickly build an export from Kentico to update your production server. I've written an article about the process I've used for this on dev.to which may help: Using Kentico CI and Git to help with releases
Regarding your isse with git that you mentioned, I don't think using git to push built assemblies into production is really what you want to be doing here. If you really want ot setup automated deployment, then you're going to want to consider something like Github pipelines or Azure DevOps pipelines to do the build for you. Again - I have an articel about using Azure DevOps with Kentico which may help: Using Kentico 12 MVC with Azure DevOps