如何将 git 从不同的存储库合并到 1 个存储库中
How to merge git from different repositories into 1 repo
我正在做一个项目,我将整个项目拆分成多个模块,然后单独开发这些模块。我不希望单个模块的开发人员能够访问任何其他模块或整个项目,他们只能看到他们的 module.How 我可以使用现有的 git 系统来做到这一点,例如 git集线器或比特桶。
每个模块都是一个回购协议,然后是一个主回购协议,它连接到每个这些回购协议中以合并数据吗?
如果你管理同一个仓库的不同分支的所有模块,开发者可以查看所有分支,你可以设置写权限给不同分支的不同开发者。
如果您不希望开发人员查看他们不工作的其他模块,您应该将不同的模块管理到单独的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
如果你想使用钩子将模块仓库合并到主仓库,你应该满足以下条件:
- 启用服务器端挂钩。您可以在每个模块 repo 上使用
post-push
挂钩。当更改推送到远程仓库时,您可以将更改拉到本地主仓库。
- 你最好在你自己的机器上设置远程仓库,因为如果你使用 github,服务器端挂钩对用户不可用。
- 如果你决定使用git hook,你应该考虑自动解决合并冲突。如果不解决合并冲突,git hook 的脚本将挂起或 return 错误。
您也可以使用其他方式将模块仓库合并到主仓库中,例如git subtree
或git sumodule
等
我正在做一个项目,我将整个项目拆分成多个模块,然后单独开发这些模块。我不希望单个模块的开发人员能够访问任何其他模块或整个项目,他们只能看到他们的 module.How 我可以使用现有的 git 系统来做到这一点,例如 git集线器或比特桶。 每个模块都是一个回购协议,然后是一个主回购协议,它连接到每个这些回购协议中以合并数据吗?
如果你管理同一个仓库的不同分支的所有模块,开发者可以查看所有分支,你可以设置写权限给不同分支的不同开发者。
如果您不希望开发人员查看他们不工作的其他模块,您应该将不同的模块管理到单独的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
如果你想使用钩子将模块仓库合并到主仓库,你应该满足以下条件:
- 启用服务器端挂钩。您可以在每个模块 repo 上使用
post-push
挂钩。当更改推送到远程仓库时,您可以将更改拉到本地主仓库。 - 你最好在你自己的机器上设置远程仓库,因为如果你使用 github,服务器端挂钩对用户不可用。
- 如果你决定使用git hook,你应该考虑自动解决合并冲突。如果不解决合并冲突,git hook 的脚本将挂起或 return 错误。
您也可以使用其他方式将模块仓库合并到主仓库中,例如
git subtree
或git sumodule
等- 启用服务器端挂钩。您可以在每个模块 repo 上使用