仅将gitignore用于子树

时间:2015-01-30 09:43:58

标签: git git-subtree

我使用SpecFlow为项目提供了以下(简化的)git repo:

/repo
    /code
        /code.cs
    /specifications
        /spec.feature
        /spec.feature.cs

我想要两个repos,新的一个只包含* .feature文件。然后将其作为子树包含在原始仓库中。这样只有测试人员才需要担心代码,其他所有人都可以使用只有* .feature文件的项目。

我设法设置子树,但最后一个障碍是确保只将* .feature文件提交给子树仓库。 .gitignore文件适用于两个项目(除非我误用它),因此没有帮助。有没有办法可以忽略除子树以外的所有* .feature文件?

1 个答案:

答案 0 :(得分:1)

考虑.gitignore的工作原理,就像在子文件夹回购中放置一个您不希望看到*.feature.cs文件的文件一样简单。

.gitginore可以包含*.feature规则,并且仅适用于子树及其子文件夹。

下面:

/repo/code/.gitignore
/repo/specifications/spec.feature/.gitignore

将它放在父文件夹上会隐藏太多feature.cs个文件。