【问题标题】:ZF2 private repository for project项目的 ZF2 私有存储库
【发布时间】:2013-02-27 17:50:35
【问题描述】:

我通过 Composer 启动 ZendSkeletonApplication。我将需要我的项目 PRIVATE 存储库 (Git)。怎么做? Skeleton 现在有 .git 文件,所以我如何处理我的项目,例如在 BitBucket 上?

问候

【问题讨论】:

    标签: php git repository zend-framework2 bitbucket


    【解决方案1】:

    从头开始创建 ZF2 框架项目的最佳方法是使用 ZFTool (http://framework.zend.com/manual/2.1/en/modules/zendtool.introduction.html)。将它安装到 /usr/local/bin (具有可执行权限),然后你可以这样做:

    $ zftool.phar create project project_name
    

    这将在 project_name 文件夹中为您提供一个完全免费的 git 框架应用程序。

    现在在 BitBucket 上创建一个私有存储库,并按照说明使用磁盘上已有的代码进行设置。

    请注意,在 project_name 中创建的项目有一个 .gitmodules 文件。如果您使用 Composer,您可以在添加到 BitBucket 之前删除此文件。如果您想使用子模块,则将其设置为 ZF2 作为子模块,供您初始化和更新。

    【讨论】:

    • 感谢您的回答。这是我认为最好的方法,但我可能别无选择,必须作曲家安装其他组件,如教义等;/ 但是如果我删除这个模块文件会发生什么?来自供应商的每一个想法都将被 git 扫描,我必须将其提交到存储桶?第二件事我不喜欢 Composer 做的这个烂摊子(通过 Composer 150mb 清理项目)。
    • 骨架应用程序提供了两种处理依赖关系的方法:Git 子模块通过 .gitmodules 文件 (git-scm.com/book/en/Git-Tools-Submodules) 和 Composer 通过 composer.json 文件 (getcomposer.org)。您可能只想在任何给定项目中使用其中一种。
    【解决方案2】:

    利用 git 的子模块特性,你可以在 bitbucket 上拥有自己的项目,并将 zend 库等作为子模块放在单独的 lib/-目录中,如下所示:

    YourProject/   <-- Your git working tree (via git init)
      public/
      libs/
        Zend/      <-- a git submodule
      application/
    

    添加子模块的命令是git submodule add http://zf-repo libs/Zend。然后您可以单独更新和跟踪 zend 框架,因为您的主 git 工作树还将引用 Zend 框架库的特定版本。

    【讨论】:

    • 我现在在 MyProject 目录中有 .git 文件夹,所以我必须手动删除 .git 文件夹并 git init 新存储库?我想要放在 BB 上的主要 git repo 应该忽略 vendor/ZF2 文件夹,现在 ZF2 库作为 git 子模块,但不应该忽略 vendor/MyZendExtension lib 文件夹。
    【解决方案3】:

    在您对ZendSkeletonApplication 进行分叉后,您可以将分叉推送到您的 Bitbucket 帐户或您自己的服务器/网络上的私有存储库。

    如果需要,您可以在 Bitbucket 甚至 require them via composer 上部署自己的包/模块,但正如 @Lars 所说,如果这对您来说更容易,可以简单地使用 git submodule

    如果您不熟悉该工具,Niels Aderman 还提供了关于 advanced composer usage 的精彩演示。

    【讨论】:

    • 我现在已经通过 Composer 安装了 ZendSkeletonApplication 的干净本地副本,但我现在不知道该怎么办.. 我必须从克隆中删除现在存在的这个 .git 文件夹?
    • @JokerDark2 不,那是 git repo 元数据。如果你对git不熟悉,更喜欢使用SVN或者其他版本控制系统,可以删除:我个人不建议这样做。
    • 我只想在 bitbucket 上安装 git。我希望有可能添加以后的学说或其他组件,而不仅仅是 ZF2(没有作曲家)。我的主要存储库应该允许我在本地使用eveythink 我开发或添加到我的应用程序或供应商的东西。我现在安装了没有 Composer 的 ZF2 骨架(通过 Git 子模块)。所以现在我只需要将文件从我的计算机导入到 BitBucket 帐户就可以正常工作了吗?
    • 我现在正尝试像 BitBucket 期望的那样导入我的副本,但之后: git remote add origin ... 我遇到致命错误:远程原点已经存在..
    • git remote add bitbucket &lt;your-repo-url&gt; &amp;&amp; git push -u bitbucket --all 会做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2012-05-31
    • 2016-05-10
    相关资源
    最近更新 更多