为什么Git Extensions在启动时打开存储库?如何在启动时更改默认存储库?

时间:2014-11-15 12:41:47

标签: git-extensions

我最近在计算机上更改了编程工作区。我创建了一个目录C:\ programming,其中包含与编程相关的所有内容,工具,编译器,库,代码库等。

我想要一个我可以在任何地方使用的默认结构,所以我想,为什么不创建我的编程工作区的git存储库,我可以在任何我要编程的新设备上查看它?!

所以我做到了。

几天后,我开始想知道为什么每次启动时Git Extensions都会以C:\编程为存储库。

我尝试从最新的存储库列表中删除C:\ programming,删除所有配置文件,在注册表中搜索条目......一切都没有成功。

如何将Git Extensions更改为不总是将C:\ programming打开为存储库?

2 个答案:

答案 0 :(得分:4)

GitExtension默认打开最新的开放存储库。

您可以在此处停用此行为:

工具>设置> Git扩展> Git扩展>在启动时打开最后一个工作目录

答案 1 :(得分:0)

如果您不想打开默认存储库,请将程序执行位置更改为文件夹或任何父文件夹中没有.git存储库的位置。如果需要默认位置,请将程序执行位置更改为包含存储库的文件夹。

我是如何找到它的?

我首先尝试了Process Explorer,看看我是否可以找到任何打开的文件句柄来配置我尚未找到的文件。

没有成功。

然后我用Process Monitor记录了一个流程启动。耶450.000事件!首先,我过滤了以“C:\ programming”开头的所有内容。数以千计的条目。然后我记得我应该只查找带有“C:\ programming \ .git”的文件事件,因为打开了一个存储库。我保存了一些最初的事件,然后没有过滤。

我注意到this peculiar pattern

首先在程序根目录中查找\ .git和\ info,然后在上面查找一个。 “没有找到名字”。然后进入“C:\ programming”并进入“成功”。因此,它会在文件系统层次结构中查找.git存储库。

此后修复很容易。我打开了Git Extensions的快捷方式和changed the program execution location to C:\

在C:\中找不到存储库,并且没有父目录。

作为必然结果,只需将执行位置更改为您想要的任何.git存储库,它将是您启动Git Extensions时打开的默认存储库。