2013-06-26 41 views
1

我想知道如何在git中跟踪多个较小/分区的开源项目,这些项目包含在一个更大的(代码基本大小 - 不一定是受欢迎的项目)中。例如:如何使用git跟踪单个项目中的多个开源项目?

说我想用一个电子商务网站,我建设中的两个开源项目:

我的文件结构应该是这样的:

myrepo/front_end/style/bootstrap/ 
        ├── css/ 
        │ ├── bootstrap.css 
        │ ├── bootstrap.min.css 
        ├── js/ 
        │ ├── bootstrap.js 
        │ ├── bootstrap.min.js 
        └── img/ 
         ├── glyphicons-halflings.png 
         └── glyphicons-halflings-white.png 
myrepo/front_end/javascript/intro/ 
        ├── intro.js 

由于这两个开源项目都是该项目的小部分,如果我要为两个github项目回购站设置远程回购站,然后让当地分支机构跟踪远程主站,那么当地分支机构根本不会类似项目回购。

那么,如何跟踪远程项目以确保在发布后立即纳入错误修复?

任何帮助,非常感谢!

谢谢!

DS-MATT

+3

看看[git submodules](http://git-scm.com/book/en/Git-Tools-Submodules)。 –

+0

以及[git subtree](https://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/)。这可能会更容易,因为您打算经常更新子项目。 – chirlu

回答

0

我已经走了,并在我的第一个git子模块中添加。效果很好!感谢你James Allardice。

我使用Sourcetree应用程序来管理Git,我无法添加子树,只是一个子模块。

唯一的问题是,如果在上游项目中有任何新的提交,子模块不会显示跟踪信息,我只需在每次开始在Sourcetree应用程序中工作时检查这些回购。

+0

此行为是设计使然。它允许您控制何时将更新拉到子模块,而不是获取可能不稳定或不兼容的版本。这也意味着您可以返回并查看项目的旧版本,并使用它们使用的子模块的匹配版本。 – duskwuff