我正在开展一个项目,我将整个项目分成多个模块,然后单独开发。我不希望各个模块的开发人员可以访问任何其他模块或整个项目,他们只能看到他们的模块。如何使用现有的git系统(如github或bitbucket)进行此操作。 每个模块是一个回购,然后是一个主要的回购,它们连接到这些回购中的每一个以合并数据?
答案 0 :(得分:1)
如果您管理同一个仓库的不同分支中的所有模块,开发人员可以查看所有分支,您可以为不同的设置写入权限不同分支机构的开发人员。
如果您不希望开发人员查看他们不能使用的其他模块,您应该将不同的模块管理到单独的git存储库。
假设developerA
适用于moduleA
(在单独的repoA
中),将repoA
手动合并到主回购中的方式如下:
#In the main repo
git remote add -f repoA <URL for repoA>
git pull repoA master
git add .
git commit -am 'get change from repoA to main repo'
git push origin master
如果您想使用挂钩将模块回购合并到主回购中,您应该满足以下条件:
post-push
挂钩。当更改推送到远程仓库时,您可以将更改提取到本地主仓库。您还可以使用其他方式将模块回购合并到主回购中,例如git subtree
或git sumodule
等。