问题描述
问题
我想为我的IIS服务器创建一个“ wwwroot”存储库,并由不同的分支机构跟踪不同的“站点”,特别是生产站点(wwwroot / prod),开发站点(wwwroot / dev)以及其他一些站点(wwwroot / other)。
我认为简单地让每个分支仅跟踪其各自的文件夹,而忽略其他子文件夹,将是微不足道的。此“有效”,除了,在分支之间进行切换删除 其他分支。
我尝试过使用简单的.gitignores来按名称忽略其他目录,而尝试过更复杂的.gitignores会忽略所有但各自的目录。
如果我决定合并分支,我不担心.gitignore文件合并冲突。
我想我可以使用SO上其他地方提出的解决方案,使用不同的排除项并更新分支更改上的符号链接,但是对于长期/替代我的人来说,这并不理想。当然我只是在使用.gitignore错误?
示例
wwwroot/prod (tracked by prod branch,ignores dev and other)
wwwroot/dev (tracked by dev branch,ignores prod and other)
wwwroot/other (tracked by other branch,ignores prod and dev)
但是例如,在设置了gitignores之后,更改为另一个分支会导致将另一个(以前已检出)分支从wwwroot工作目录中删除(因此无法再访问网页)
解决方法
如果您可以负担得起 not 跟踪wwwroot的内容(这意味着不需要在Git中跟踪,无需提交就可以跟踪文件夹或一系列文件夹,但是可以将其保留为私有),那么我将: / p>
- 在存储库之外创建这些文件夹
- 跟踪符号链接
那是
-
wwwroot -> /../prod
(prod
是与回购本身位于同一父文件夹中的文件夹) -
wwwroot -> /../dev
(dev
是与回购本身位于同一父文件夹中的文件夹) -
wwwroot -> /../other
(other
是与回购本身位于同一父文件夹中的文件夹)
那样,您只跟踪wwwroot
(根据分支而变化),并使用相对路径符号链接到正确的外部文件夹。