It was a fundamental mistake to embed a Git library in RSSC
1. You can't keep up to date for new git versions.
2. You have to show users "Your URL is not supported" for perfectly value git SSH urls.
3. You could have just let the user pick any local working copy that they checked out on their own, instead of maintaining your own private inner working copy.
4. You could literally ShellExecute ("git add "+filename) and then ShellExecute("git commit").
5. GIT SSL configuration on Windows is non trivial and important, and your library doesn't support it.
6. I can't use Gitlab SSH repo urls with your product. I want to use SSH repo urls, I don't want an https (with authentication userid/password), I want certificates.
7. Apparently users also can't use TFS git repos.
Let's look at what other products do:
A. Atlassian SourceSafe includes an embedded git version but also allows you to execute your system version. It has several dialog boxes full of options, and still can't handle all the complexities of git.
B. Visual Studio's git integration is quite complex and deep, and yet it still faces cases where users can't do what they want.
A rethink is required. In the short term a shellexecute("git pull origin master") would be better than whatever logic you've got behind your git pull button right now, but whatever library is in there needs to die a quick painless death, and you need a real full git binary client in your app, ASAP.