Jac*_*ler 4 git visual-studio editorconfig
我已经准备好.editorconfig要在多个 Git 存储库上使用的文件。每个存储库都包含一个 Visual Studio 解决方案 (C#)。我的第一个想法是将.editorconfig文件放在自己的存储库中,然后将其作为子模块包含在所有“解决方案存储库”中。然而问题是:子模块将位于子文件夹中。因此,包含的.editorconfig内容不会应用于整个项目/解决方案(而仅应用于子文件夹及其子文件夹)。在我看来,我也无法.editorconfig在解决方案配置文件 ( .sln) 中指定解决方案范围的路径。
.editorconfig在多个 Git 存储库之间实际共享单个文件的最佳方法是什么?该.editorconfig文件仍然需要进行版本控制(从而在用户之间共享),即。没有本地 editorconfig 配置。
我自己找到了一个解决方案,使用共享存储库作为我想要的子模块:这是一个符号链接!
例如,如果您的子模块被调用Global,请进入解决方案的根目录并通过以下方式创建指向子文件夹中真实文件的符号链接Global:
mklink .editorconfig .\Global\.editorconfig
Run Code Online (Sandbox Code Playgroud)
可以像任何其他文件一样提交和推送此链接。Gitea(我用作服务器)甚至显示一个小箭头作为文件符号的叠加。显然它知道它只是一个符号链接。当我在 Windows 机器上克隆这个存储库时,符号链接按预期工作。也许它甚至适用于 *nix 系统;不过我没有尝试。
我撤回了这个解决方案:VS2017 (15.8.2) 不会立即获取更改。必须关闭并重新打开解决方案。如果您使用的是真实的.editorconfig文件更改,则自 15.8 Preview 3 起会立即检测到。
编辑:我们决定不向 Git 提交符号链接,因为它曾经被 Gitea 搞砸了(可能是一个错误),并且因为我们有非 Windows 开发系统。相反,我们有一个“后克隆脚本”与我们的项目文件中的条件错误相结合<Error Condition="!Exists('$(SolutionDir).editorconfig')" Text=".editorconfig is missing. Please run $(SolutionDir)_post_clone_script.bat first." />。