存储库场景中的git存储库:如何忽略存储库子文件夹(即具有.git /的子文件夹)

时间:2016-11-29 03:30:04

标签: git

假设我的存储库结构如下:

MyApp/
    .git/
    .gitignore
    File1
    dir1/
        File2
    src/
        File3
        File4
        module1/
            .git/
            .gitignore
            foo.cpp
        module2/
            .git/
            .gitignore
            bar.cpp
        ...

换句话说,我有一些包含.git/的深层子文件夹,称为存储库子文件夹。

如何在MyApp存储库中编写.gitignore或通过其他方式在MyApp视图中忽略所有存储库子文件夹?它们显然是被忽略的,因为它们已经由其他独立的存储库管理。

- 或 -

处理这个“Git:存储库中的存储库”场景的任何标准方法,如果“忽略”不是要走的路?

2 个答案:

答案 0 :(得分:1)

  

我的目的是自动忽略包含.git/

的文件夹

这些文件夹内容已被忽略,因为主Git仓库只会将其记录为gitlinkspecial entry in the index)。
这里只记录module1module2(不是他们的内容)

如果你想记录module1,你仍然需要一个.gitignore(只有一个src/module*,没有尾随斜杠,因为你不忽略一个文件夹,只有一个gitlink)
你不能指示git自动忽略gitlink,你必须在.gitignore中指定它。

答案 1 :(得分:0)

我正确理解你的问题,然后虽然没有“自动忽略通过.git识别”,忽略module1,2 .... n子树的一种简单方法是在myApp / src中创建一个.gitignore文件文件夹并插入值:

module*/

然后保存文件,你应该达到预期的效果。