我的目录结构如下:
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/
有没有办法实现这个目标?
答案 0 :(得分:0)
您要做的是在要跟踪的目录中有一个符号链接,或者从您不想跟踪的目录中指向该符号链接。如果您不想跟踪符号链接,可以将其添加到您的gitignore。然后,Git只会查看您跟踪的目录,并且不知道symlinc指向的位置。
答案 1 :(得分:0)
Git实际上没有一个工具来构建复杂的列表,这些列表中的目录来自哪些文件来自哪些任意历史列表。我认为其背后的原因是,人类跟踪和验证列表是不必要的,容易出错,因为它描述了究竟能做什么和不能用它做什么。
只需将共享社区和历史记录中的所有内容保存在一个repo集中,并将其作为子模块克隆到其他所有使用它的子模块中。您可以获得相同的效果,其中哪些文件是哪些文件的历史记录更容易验证(更不用说描述)了。