繁体   English   中英

git子模块和目录结构

[英]git submodules and directory structure

我有一个类似的目录结构:

root/
    files
    dir1/
        main-project-files
        main-project-subdirs/
    dir2/

我有另一个要添加到邮件项目中的存储库。 它的结构类似于:

dir1/
    submodule-files
    submodule-subdirs/

问题是我希望主项目和外部存储库中的dir1都位于同一文件夹中,但是我真的不希望将主项目中的dir1中的文件作为存储库的一部分进行跟踪。 以如下总体结构结尾:

root/
    files
    dir1/
        main-project-files
        main-project-subdirs/
        submodule-files
        submodule-subdirs/
    dir2/

有没有办法做到这一点?

您要做的是在您要跟踪的目录中有一个符号链接,该符号链接指向您要跟踪的目录,或指向您不想跟踪的目录。 如果您不想跟踪符号链接,也可以将其添加到gitignore中。 然后,Git仅查看您跟踪的目录,而对symlinc指向的位置一无所知。

Git确实不具备构造复杂列表的功能,该列表精确地确定哪个目录来自哪个历史记录列表中的哪个文件。 我认为其背后的原因是,对于人类来说,跟踪和验证列表就像描述不必要的错误一样容易出错。

只需将共享社区和历史的所有内容保存在存储库中,并将其克隆为其他所有使用它的子模块。 使用规则,哪些文件是哪个历史的一部分,验证起来就容易得多(更不用说描述了),您将获得相同的效果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM