4

在 Windows 上使用 Git,我正在尝试处理我的 git 存储库外部的内容。例如,我们有艺术品和内容文件,它们正在由谷歌驱动器中的非 git 用户更新,因此为了捕获这些更改,我设置了类似于以下内容的内容;

d:\MyRepo
  \.git
  \code1
  \images1
  \fonts (junction) => c:\users\%username%\google drive\designerLtd\fonts
  \etc

其中“字体”是一个文件夹,已使用junction.exemklink /j(相同的东西)链接。这通常效果很好,因为Git status会立即突出显示新更改(有意或无意)并为签入或撤消做好准备。

ISSUE:有时在切换分支时,如果这些文件夹中的内容在分支之间不同,Git 会修剪链接目录并重新创建它们。实际上它破坏了链接。现在 Git 总是正确的并且构建是一致的,但它不再跟踪这些外部资源并不总是很明显。

更糟糕的是,它可以删除外部位置的文件。它们当然可以从 git 中恢复,但它非常笨重。

切换分支时在外部位置交换内容不是问题,因为只有一台 PC 以这种方式连接并且它们很容易合并,但我只是希望它不会破坏链接。

问题:有没有更好的方法来允许 Windows 上的 Git 存储库中的外部连接点?

需要明确的是,据我所知,GIT 存储库中还没有符号链接,这不是关于 Unix 和 Windows git 客户端之间互操作性的问题(SO 上的大多数其他问题似乎都与此有关)。

4

1 回答 1

1

您可以修改连接点的权限,使 git 无法再删除它。Git 通常不关心删除目录是否失败(除非它需要用文件替换目录)。

请参阅https://support.microsoft.com/en-us/kb/205524中的“使用建议”

于 2015-10-12T09:25:56.963 回答