共享 Git 存储库中的 .editorconfig
.editorconfig in shared Git repository
我已经准备好我的 .editorconfig
文件,我想在多个 Git 存储库中使用它。每个存储库都有一个 Visual Studio 解决方案 (C#)。我的第一个想法是将 .editorconfig
文件放在它自己的存储库中,然后将其作为子模块包含在所有 "solution repositories" 中。但是问题是:子模块将位于子文件夹中。因此,包含的 .editorconfig
不会应用于整个 project/solution(但仅应用于子文件夹及其子文件夹)。在我看来,我也无法在解决方案配置文件 (.sln
) 中指定我的解决方案范围 .editorconfig
的路径。
在多个 Git 存储库之间实际共享单个 .editorconfig
文件的最佳方法是什么? .editorconfig
文件仍然需要进行版本控制(因此在用户之间共享),即。没有本地 editorconfig 配置。
我自己找到了一个解决方案,使用共享存储库作为我想要的子模块:它是一个符号 link!
例如,如果您的子模块名为 Global
,请进入解决方案的根目录并通过以下方式创建一个符号 link 到子文件夹 Global
中的真实文件:
mklink .editorconfig .\Global\.editorconfig
这个 link 可以像任何其他文件一样提交和推送。 Gitea(我用作服务器)甚至显示一个小箭头作为文件符号的覆盖。显然它知道它只是一个符号 link。当我在 Windows 机器上克隆此存储库时,符号 link 按预期工作。也许它甚至可以在 *nix 系统上运行;不过我没试过。
我反对这个解决方案:VS2017 (15.8.2) 不会立即获取更改。必须关闭并重新打开解决方案。 If you are using a real .editorconfig
file changes are detected immediately since 15.8 Preview 3.
编辑: 我们决定不将符号 link 提交给 Git 因为它曾经被 Gitea 搞砸了(可能是一个错误),因为我们有非 Windows 开发系统。相反,我们在项目文件 <Error Condition="!Exists('$(SolutionDir).editorconfig')" Text=".editorconfig is missing. Please run $(SolutionDir)_post_clone_script.bat first." />
.
中有一个 'post clone script' 和条件错误的组合
我已经准备好我的 .editorconfig
文件,我想在多个 Git 存储库中使用它。每个存储库都有一个 Visual Studio 解决方案 (C#)。我的第一个想法是将 .editorconfig
文件放在它自己的存储库中,然后将其作为子模块包含在所有 "solution repositories" 中。但是问题是:子模块将位于子文件夹中。因此,包含的 .editorconfig
不会应用于整个 project/solution(但仅应用于子文件夹及其子文件夹)。在我看来,我也无法在解决方案配置文件 (.sln
) 中指定我的解决方案范围 .editorconfig
的路径。
在多个 Git 存储库之间实际共享单个 .editorconfig
文件的最佳方法是什么? .editorconfig
文件仍然需要进行版本控制(因此在用户之间共享),即。没有本地 editorconfig 配置。
我自己找到了一个解决方案,使用共享存储库作为我想要的子模块:它是一个符号 link!
例如,如果您的子模块名为 Global
,请进入解决方案的根目录并通过以下方式创建一个符号 link 到子文件夹 Global
中的真实文件:
mklink .editorconfig .\Global\.editorconfig
这个 link 可以像任何其他文件一样提交和推送。 Gitea(我用作服务器)甚至显示一个小箭头作为文件符号的覆盖。显然它知道它只是一个符号 link。当我在 Windows 机器上克隆此存储库时,符号 link 按预期工作。也许它甚至可以在 *nix 系统上运行;不过我没试过。
我反对这个解决方案:VS2017 (15.8.2) 不会立即获取更改。必须关闭并重新打开解决方案。 If you are using a real .editorconfig
file changes are detected immediately since 15.8 Preview 3.
编辑: 我们决定不将符号 link 提交给 Git 因为它曾经被 Gitea 搞砸了(可能是一个错误),因为我们有非 Windows 开发系统。相反,我们在项目文件 <Error Condition="!Exists('$(SolutionDir).editorconfig')" Text=".editorconfig is missing. Please run $(SolutionDir)_post_clone_script.bat first." />
.