我已经准备好了我想要在多个Git存储库上使用的.editorconfig文件。每个存储库都包含一个Visual解决方案(C#)。我的第一个想法是将.editorconfig文件放在自己的存储库中,然后将它作为子模块包含在所有“解决方案存储库”中。然而,问题是:子模块将位于子文件夹中。因此,包含的.editorconfig不会应用于整个项目/解决方案(但只应用于子文件夹及其子文件夹)。在我看来,我也无法在解决方案配置文件(.sln)中指定到解决方案范围内的.sln的路径。
在多个Git存储库之间实际共享单个.editorconfig文件的最佳方法是什么?.editorconfig文件仍然需要版本控制(从而在用户之间共享),即。没有本地editorconfig配置。
发布于 2018-09-05 15:57:36
我自己找到了一个解决方案,将共享存储库作为我想要的子模块:它是一个符号链接!
例如,如果您的子模块名为Global,请进入解决方案的根,并通过以下方式创建一个指向子文件夹Global中真实文件的符号链接:
mklink .editorconfig .\Global\.editorconfig此链接可以像任何其他文件一样提交和推送。Gitea (我正在使用它作为服务器)甚至显示一个小箭头作为文件符号的覆盖。显然,它知道这只是一个象征性的链接。当我在Windows机器上克隆这个存储库时,符号链接可以正常工作。也许它甚至适用于*nix系统,但我没有尝试。
我回想一下这个解决方案: VS2017 (15.8.2)不会立即获取更改。我们必须关闭并重新打开解决方案。 file changes are detected immediately since 15.8 Preview 3。
编辑:我们决定不提交到Git的符号链接,因为它曾经被Gitea所破坏(可能是一个bug),因为我们有非Windows开发系统。相反,我们有一个‘后克隆脚本’与我们的项目文件<Error Condition="!Exists('$(SolutionDir).editorconfig')" Text=".editorconfig is missing. Please run $(SolutionDir)_post_clone_script.bat first." />中的一个条件错误相结合。
https://stackoverflow.com/questions/52186841
复制相似问题