大约两周以来,我的git LFS无法在Visual Studio中正常工作。每当我克隆包含LFS文件的存储库并在Visual Studio中打开它时,它就会说某些文件已“更改”:
如果我不打开Visual Studio并仅使用git命令行就没有问题。
我拥有的其他计算机也可以正常工作,并且允许Visual Studio仅仅在Git LFS存储库中检入文件。
我已经尝试过的:
git clone ...
克隆干净的实例编辑1
虽然进行了更多调查,但我发现此问题仅发生在一个特定的文件夹中。如果在C:\XGitML\DS-MLUnity
中克隆DS-MLUnity存储库,则Visual Studio将在启动它们后创建这些挂钩文件。但是,当我将存储库克隆到另一个目录中时,这不会发生。 #confused
编辑2
显然,这也不是问题,因为当我将其克隆到另一个目录时,它现在还会创建钩子文件。
编辑3
我设法使它一次可以在另一个目录中工作,但是现在我根本无法设法使其正常工作。每次我在Visual Studio 2019(甚至2017)中打开Git-LFS目录时,都会创建钩子文件。
听起来好像检测到Git目录存在一些问题。 Git LFS将使用git rev-parse --git-dir
查询Git以查找Git目录。
我将尝试在不首先使用Visual Studio的情况下在命令行(Git Bash)上重现该问题。如果您可以在此处重现此内容,则需要查看git lfs env
的输出。这将显示几行,包括LocalGitDir
和LocalGitStorageDir
。除非您在工作树中,否则它们应该相同,并且它们应指向.git
目录。 LocalMediaDir
应该指向工作树下的.git/lfs/objects
目录。
[如果由于某些原因看起来不太理智,并且您确定没有设置任何奇怪的环境变量(git lfs env
也会向您显示所有Git环境变量),然后转到Git LFS issue tracker并报告问题,包括git lfs env
的输出,再现步骤以及报告中的相关OS信息。