在一个目录中管理两个存储库的最佳实践

时间:2013-05-19 20:34:15

标签: git github repository organization

当我创建一个新项目时,我通常在项目目录中执行git init,然后下载我正在使用的任何框架的源(FuelPHP,django等)并将其复制到项目目录中。这样,我没有两套git信息。

这很糟糕,因为它不容易(我不能只是git clone)而升级更多是一件苦差事。

管理此问题的最佳方法是什么?在创建项目目录后,我应该在git中设置新的remote吗?类似的东西:

cd project_dir
git init
git remote add origin GITHUB_URL
git remote add fuelphp FUEL_GITHUB_URL
git pull fuelphp master
git add .
git commit -m 'adding fuel'
git push origin master

或者这被认为是不好的做法?

1 个答案:

答案 0 :(得分:3)

如果您使用git管理项目并且“框架”也在git中管理,那么您有不同的可能性:

  • 只需将框架中的文件复制到项目中即可。 (这很好,如果你不想要一份框架的整个历史记录,但是更新有点难看。)
  • 使用git submodule包含其他存储库。 (在您的项目中,您基本上存储了一个指向框架存储库中的提交的指针。)
  • 使用git subtree这几乎将框架的提交集成到您的项目中,并允许轻松升级。

您必须找出最适合您情况的方式。

您可以找到关于here主题的好文章。