git排除文件使用情况

时间:2016-05-23 23:20:58

标签: git github

我们试图在一个根目录中有两个git repos(用于处理内部模块,即。子目录)。

我们不能使用git子树,主要是因为单独的子目录中有文件需要位于不同的文件夹中。

我们决定创建2个repos并在.git / info / exclude文件中列出我们想要为一个repo忽略的子文件夹,反之亦然。我们尝试使用以下排除文件,只需要几个文件夹:

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
*
!assets/apps/contratos/*
!api/controllers/contrato/*
!api/models/contrato/*
!api/services/contrato/*

因为它基本上不会跟踪任何文件,如果我们从文件中删除*,则会再次添加所有文件。

我们希望git忽略所有文件夹但上面列出的文件夹。

注意:由于我们的双git结构.gitignore不在图片中 - 没有人帮助在同一根目录中为2个不同的存储库创建两个.gitignore。

1 个答案:

答案 0 :(得分:1)

我认为你所追求的是

/*
!/assets/
/assets/*
!/assets/apps/
/assets/apps/*
!/assets/apps/contratos/
!/api/
/api/*
!/api/controllers/
/api/controllers/*
!/api/controllers/contrato/
!/api/models/
/api/models/*
!/api/models/contrato/
!/api/services/
/api/services/*
!/api/services/contrato/