While I understand the difference between a bare and non-bare Git repositories, I am puzzled by how a bare repository is not identified as a valid repository by git-gui (despite successful push via Git Bash), while TortoiseGit has no issue identifying it as such (right-click inside Y:\as > TortoiseGit > Repo-browser):
Git Gui, on the other hand responds to the same exact Y:\as path with an error:
This is the same Git Gui that came with the official Git distribution:
Any idea why is? Is this a bug? as designed?
BTW, git-gui has no issue browsing the working directory matching same exact push/repo:




The screen capture you posted shows
gitk, a GUI frontend togit logwhich will indeed work on any kind of repository -- bare or non bare. It is a tool independant fromgit-guiwhich can be run on its own, by simply invokinggitkfrom a terminal, or by double-clicking a shortcut if you have one.From the view you show in your capture: you can see that you have a
Help > About gitkentry in the menu.Since you mention
git gui, I imagine you are used to accessing this view by first runninggit gui, then selectingRepository > Visualize [my branch]'s History(orRepository > Visualize All Branch History)git-guiitself, on the other hand, is geared towards editing your index (the files you stage or unstage before committing) by comparing it to your working tree (files on disk), and this requires a non-bare repository, which is why you get the error you mention when you try to target a bare repository.Additionally, when invoking
gitkfrom the command line, you can add almost any option you would pass togit log:you may also change these
git logoptions on an active gitk window by going toView > Edit view ... [F4]and setting the options in the graphical window you see.