2

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

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

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

我知道我也可以在不克隆存储库的情况下直接下载文件,但由于手册表明这是推荐的,我认为必须有充分的理由和理想的方法。(我认为当新版本出现时更新框架会更容易。)

4

2 回答 2

1

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

所以

  1. 部署锂公关服务器(/home/lithium 是我的偏好)
  2. 通过复制默认的 li3 并剥离/修改它来创建您自己的基线应用程序
  3. 创建一个灵活的 vhost 配置,这样您就可以只使用git clone base-app ~/sites/foo-app或类似的工具,以便快速使用新应用程序。

我在 github 上有我的(现在已经过时的)基线应用程序

于 2011-09-25T13:44:48.827 回答
0

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

由于您使用的是 github,因此请分叉该 repo 并从 fork 克隆。如果您想贡献,您可以创建拉取请求。

编辑:

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

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 

并再次从合并步骤开始。如果更改发生在那里,您可能需要进入子模块目录并在那里执行上述 2 个步骤。

希望这可以帮助。

于 2011-09-07T20:38:50.587 回答