'Shared library plugin for other Git related Jenkins plugins.
This plugin by itself does not provide any user-visible function; for that, see Git Plugin, of which this was originally part.
This plugin provides an API to execute general-purpose git operations on a local or remote repository. Its primary use is from the git-plugin; as such, it is also used by gerrit-plugin, git-parameter-plugin and cloudbees validated merge plugins. Plugin developers are encouraged to use GitClient API in replacement for the legacy IGitAPI.
Main goal is to isolate this low-level git stuff from git-plugin, then to re-implement a client using JGit.
For backwards compatibility, this plugin uses API classes from hudson.plugins.git package.
Plugin provides a builder-style factory to retrieve a GitClient:
Note: If security on the default temp folder is a concern, note that you can change the location of the temp folder in Jenkins via the system property `java.io.tmpDir`as explained in here. This would need to be done on the Jenkins master and the Agents.
Git for Windows and Windows Credential Manager
Installing Git for Windows with the default installation options chosen will result in the Windows Credential Manager being a source of credentials for git operations. Users prior to git client plugin 2.6.0 experienced attempted Git operations that never make any progress and eventually time out when targeting password-protected https repository locations. The solution prior to git client plugin 2.6.0 is to uncheck the Windows Credential Manager feature at Git for Windows install time.
Git client plugin 2.6.0 and later default to set GCM_INTERACTIVE=false when calling command line git on Windows. That should cause git credentials manager for Windows to be ignored when used with the Jenkins git client plugin.
Change Log - Moved to GitHub