我们有一个核心代码库和一个项目目录,用于保存项目特定代码。
/Core
/Core/code/*
/projects/name1/*
/projects/name2/*
这已被设置为存储库,目前正在使用它来开发系统。 我们发现这很棒,因为我们能够在项目之间进行切换,以便在核心代码更改时快速测试错误。
现在的问题是部署单个项目。 每个项目都需要具有Core代码及其项目目录。但我们希望从中排除其他项目目录。
换句话说,我们需要创建一个克隆仓库:
/Core
/Core/code
/projects/name2
这个克隆仍然会从主回购中拉出来。我们只是不希望它被其他项目目录填充。
当我们拉动时,我们如何告诉git忽略这些目录中的合并?
我试过了:
git update-index --no-assume-unchanged
在我要跳过的目录上,当我拉动时,它可以工作。 但如果我去创建这个仓库的进一步克隆,所有“未跟踪”的目录都会回来......
答案 0 :(得分:0)
Git不是以这种方式工作的。
但是,git submodules只是为了满足您的特定需求而存在。我建议将每个项目分成自己的仓库(通过分配现有的仓库和清理,保存历史),将Core分成自己的仓库,并将Core作为子模块包含在每个项目中。