gert and git do not agree on what order to read the config
It looks like {gert} prioritizes config items from top to bottom, but command line git prioritizes bottom to top in the case of duplicate keys.
I have a situation where I want to use a different set of credentials for a project. I found the IncludeIf directive for .gitconfig files from https://nicknisi.com/posts/git-includeif/ and I applied it like so:
[user]
name="Clark"
[email protected]
[credential]
helper=/path/to/helper
# ... gitconfig stuff ...
[includeIf "gitdir:/path/to/project"]
path = ~/.gitconfig-pat
and in my ~/.gitconfig-pat I have it set up to use the GitHub credentials for "Bizarro" in which I provision a temporary PAT inside of an environmental variable called BIZARRO_TOKEN a la https://git-scm.com/docs/gitfaq#http-credentials-environment
[user]
name="Bizarro"
[email protected]
[credential]
helper = '!f() {echo username=clark-is-not-bizarro && echo "password=${BIZARRO_TOKEN}"};f'
When I run git from /path/to/project in the command line, I can commit, push, and pull as "Bizarro", but if I open R and run {gert} from the same directory, I am recognized as "Clark".
If I move the IncludeIf statement to the top of the file, then {gert} will recognize "Bizarro", but git will recognise "Clark"
I think you need to ask this upstream in libgit2. We don't control any if this from gert.