2014-02-05 81 views
0

我们有一个核心代码库和一个位于其下的项目目录以保存项目特定的代码。Git部署存储库问题

/Core 
/Core/code/* 
/projects/name1/* 
/projects/name2/* 

这已被设置为存储库,目前正在使用它来开发系统。 我们发现这很棒,因为我们可以在项目之间快速切换,以便在核心代码更改时快速测试错误。

现在的问题是部署单个项目。 每个项目都需要有核心代码以及项目目录。但是我们想从中排除其他项目目录。

换句话说,我们需要创建一个克隆回购有:

/Core 
/Core/code 
/projects/name2 

这个克隆仍将从主回购拉。我们只是不希望它被其他项目目录填充。

当我们拉动时,我们该如何让git忽略这些目录中的合并?

我曾尝试:

git update-index --no-assume-unchanged 

上我想跳过当我拉其工作目录。 但是,如果我去创建此回购协议的进一步克隆所有“未跟踪”目录回来...

回答

0

Git的目的不是要这样工作。

但是,git submodules存在只是为了适应您的具体需求。我建议将每个项目分解为自己的回购(通过分解现有的回购和清理,保留历史记录),并将Core放入其自己的回购中,并将Core作为子模块包含在每个项目中。