关于组织我的开发环境,我有一个严重的问题(!!!);
我有两个应用:app1和app2。这个应用程序是使用OpenUI5编写的(但这个细节并不重要)
app1和app2类似并共享一些代码(例如登录代码)。 我使用git(带git-flow)和两个远程repo,我有相同的代码重复。 现在我希望优化我的开发流程共享代码(登录代码)。
这是我的第一个想法:只有一个repo包含此类型结构中的所有代码:
repo
|_____share
| |____login.js
|
|_____app1
| |_____index.html
| |_____resources
| |_________util1.js
|_____app2
|_____index.html
|_____resources
|_________util2.js
我有两个时间状态:
resources/utilX.js
和../share/login.js
resources/utilX.js
和resources/login.js
好!我可以为每个应用创建(使用grunt?)一个RELEASE;例如,RELEASE的结果是
app1
|_____index.html
|_____resources
|_________util1.js
|_________login.js.js
我可以将app1文件夹推送到我的服务器,它运行正常!
但现在我有一些疑问:
答案 0 :(得分:2)
Git子模块可能对您有所帮助。它允许您将app1,app2和共享代码移动到不同的repos,然后将共享代码repo注入您的app repos。有关详细信息,请参阅documentation
答案 1 :(得分:1)
另一种解决方案可能是使用子树 它允许在项目之间共享代码,通常是在依赖性的情况下,它允许在两个方向上进行通信:
官方文件在这里:
http://www.git-scm.com/book/en/v1/Git-Tools-Subtree-Merging
可以在这里找到一个很棒的教程,执行子模块和子树比较以及详细解释:
http://typecastexception.com/post/2013/03/16/Managing-Nested-Libraries-Using-the-GIT-Subtree-Merge-Workflow.aspx