【发布时间】:2018-04-11 14:29:01
【问题描述】:
我主要在 Linux 上工作,但我也有一个 Windows VM,主要用于在 Windows 上运行单元测试。
在 Linux 中,我有一个 Git 存储库,可以使用 VirtualBox 共享文件夹从 Windows VM 访问它。我不在 Windows 上使用 Git,除了我们的构建系统,它记录当前的 Git 哈希以将其包含在可执行文件中(运行 git describe --always --dirty)。
现在,每次我在 Linux 或 Windows 上使用 Git,然后在另一个系统上再次使用 Git,都需要一段时间。例如:
Linux$ git status
Linux$ git status # fast (<1s)
Windows$ git status # takes a few dozen seconds
Windows$ git status # fast (<1s)
Linux$ git status # takes a few seconds
Linux$ git status # fast (<1s)
我能做些什么来防止这种情况发生吗?我可以在 Windows 上关闭 Git 功能,因为它只需要获取一个哈希值。但是我无法更改获取此哈希的方式,因为这在构建系统中很深。我也不想在 Linux 和 Windows 上拥有单独的存储库并相互提交/推送,因为这会导致更大的开销。
Linux git 版本:2.11.0.
Windows git 版本:2.14.1.windows.1。
【问题讨论】:
-
我想,在那段时间里,你的 VirtualBox 正在你的系统之间同步数据。
-
“我不能改变获取has的方式”...好吧,好吧,但是哈希是如何获得的?
-
我建议使用 github 或 bitbucket 之类的第三方来托管您的存储库,并在每个上分别克隆存储库。
git status将立即生效,因为它只需要转到本地磁盘。通过共享/网络存储共享单个存储库并不是 git 的真正预期用例。 -
@MaxFriederichs 我已经有一个 Git 服务器,但我在问题中明确表示,每次我需要运行测试时提交和拉取会产生更大的开销。
-
@MarkAdelsberger 我已经编辑了问题。
标签: git shared-directory