Connecting to Git with Spira
When you connect to a Git repository using Spira, you can browse the branches, files, and revisions in the repo:

For example in the screenshot above, we are connecting to a public GitHub repository containing some Spira add-ons (you can try it yourself, the repo is public - https://github.com/Inflectra/spira-fogbugz-datasync)
Where is the Bare Repository Stored
When you connect to a Git Repo, what happens is that Spira does a Git clone to get a copy of the bare repo (i.e. without a working folder) and whenever you refresh the page, it will do a Git fetch to make sure the local Spira repo is up to date with any changes that have been pushed.
This is stored in a special cache folder on your Spira server which is specified in the general settings:

The default location is C:\ProgramData which will look like the following when you are using Git:

That is where a "bare" clone of the Git repo will be stored.
Fixing Fetch Issues
If you receive errors that mention items being missing, for example:
Could not find revision '507dfa2944cd529746e2064e54bf024037ca5813' [APPLICATION.PlugIns.VersionControlArtifactNotFoundException]
then one possibility is that the repo needs to be manually refreshed.
To do that, simply open up Git in a bash (or similar) command window and do a Git > Fetch.
If you are using a GUI tool like TortoiseGit then it's even easier:
