两个git仓库共存——不可能,或者怎么可能



我们有一个企业应用程序,我们使用git进行配置管理。此外,这个项目的基础是我们的开源工具,一个公共的git repo。

如果您是企业客户,安装过程a)安装开源工具,b)在相同目录结构中的开源工具的之上安装企业特性

对于部署来说,这很好。对于开发来说,这是一场噩梦。

有没有办法让两个复杂的,重叠的项目在同一个结构中?我不知道怎么做,但我想我应该问一下。

现在我是这样设置的:

  • 一个目录下的开源工具
  • 企业代码在另一个
  • 一个脚本,"安装"(通过符号链接)企业到开放源码目录,所以我可以开发/运行/测试

问题来了,在我提交开源仓库更改之前,我必须"卸载"企业,这样我才能清楚地看到更改。(或者管理一个有数百个条目的。gitignore)真痛苦。

也有大项目…超过25个模块,超过100个文件被复制到企业版中。

有什么想法吗,还是我已经做到最好了?

Git子模块允许您保持不相连的Git项目,但在另一个中使用一个。这在您的情况下可能很方便,因为您可以随心所欲地修改开源工具,同时保持企业版本指向开源工具的特定版本。当您想要将企业升级到更新的提交时,这也很容易!

这是一个很好的资源。

你可以做的另一件事是将开源项目作为一个单独的分支添加到git项目中。

开源项目的开源git存储库将在你的git项目中显示为一组分支。然后,您可以将其合并到。

中,将其合并到您的项目中。

由于git是一个分布式版本系统,这很容易做到:

#Add the open source repo as a remote
git remote add -f open_source_git <url to open source git repo>
#Create a local branch to track the remote branch
git branch open_source_master open_source:master
# Combine the two projects
git merge open_source_master

open_source_master分支在那里,因此您可以轻松地从自己的存储库中更新和跟踪开源repo。

相关内容

最新更新