我在Lithium项目中使用git的推荐方法是什么?

时间:2011-09-07 18:42:33

标签: php git lithium

在搜索了许多PHP框架以找出要学习和使用的内容之后,我暂时选择了Lithium。看起来不错。除了,我不完全确定如何最好地管理我在git中编写的Lithium应用程序,因为推荐的获取代码的方法。手册suggests

git clone git://github.com/UnionOfRAD/framework.git my_app
cd my_app
git submodule init
git submodule update

这会导致非空的主存储库(目前历史上有2000多次提交)。我应该简单地在同一个存储库(在我自己的分支机构中)提交我自己的更改吗?在有更改时提取/合并,还是有其他推荐的方式?

我知道我也可以在不克隆存储库的情况下下载文件,但由于手册表明这是推荐的,我认为必须有一个很好的理由和理想的方法。 (我认为它可以在新版本发布时更容易更新框架。)

2 个答案:

答案 0 :(得分:1)

这取决于您的首选设置。 如果我想快速滚动,那么示例应用程序的结帐效果很好。它有一个bootstap配置,示例控制器和一些视图。但是一旦你超越了我建议创建自己的基线app-repo并部署框架本身pr服务器而不是pr app。 可以轻松更改 app / config / bootstrap / libraries.php 以从其他地方加载锂电池。

所以

  1. 部署锂pr服务器(/ home / lithium是我的首选)
  2. 通过复制默认的li3并剥离/修改
  3. 来创建您自己的基线应用
  4. 创建一个灵活的虚拟主机配置,这样您就可以 git clone base-app~ / sites / foo-app 或类似内容,以便快速推出新应用。
  5. 我有我的(现在已过时)基线应用on github

答案 1 :(得分:0)

是。在git中,您可以获得所有历史记录的副本。您可以在自己的分支中跟踪您的工作,并使用pull或fetch以您认为合适的方式进行同步。

因为你正在使用github,所以从fork分叉repo并克隆。如果您想贡献,可以创建拉取请求。

编辑:

最初,您需要做的就是克隆:

git clone <url to the repo>
git submodule --init --recursive

如果您没有贡献,那么从那时起工作流程很简单:

git fetch

从github

获取最新信息
git merge --ff-only origin/master
git submodule update --recursive

如果由于您意外更改了文件而出现错误,则可以

git reset --hard HEAD
git clean -xdf 

再次从合并步骤开始。您可能需要进入子模块目录并在那里执行上述两个步骤。

希望这有帮助。