Zend Framework 2 可以/应该如何包含到 Git 版本化项目中?

2024-02-02

应如何管理 Zend Framework 2 项目的版本控制?是否有最佳实践/“标准方法”? “子模块”是正确的关键字吗?


Zend Framework 2 项目通常是一个轻量级框架应用程序,具有各种已安装的模块,这些模块通常位于单独的专用存储库中。

主存储库通常不会受到许多更改的影响,因此您可以创建一个 git 存储库(Zend 骨架应用程序 https://github.com/zendframework/ZendSkeletonApplication) 为了它。虽然这些模块更相关并且需要小心处理,但框架应用程序通常在几个月内仅在几个细节上发生变化。

我可以建议以下方法:

  1. 创建应用程序特定模块的第一个版本:git 子模块 http://book.git-scm.com/5_submodules.html in the modules/您的骨架应用程序分支的目录。
  2. 按照建议的方式处理模块,只需提交回原始存储库并更新根存储库中的 git 子模块引用即可。
  3. 一旦你有了一个相当好的工作版本(并且对composer http://getcomposer.org/和一般的 zf2),您可以通过添加一个将它们转换为 Composer 包composer.json http://getcomposer.org/doc/04-schema.md file.
  4. 删除转换后的 zf2 模块的 git 子模块并使用composer导入它 http://getcomposer.org/doc/04-schema.md#repositories反而。为此,您只需告诉 Composer 存储库所在的位置。这将使该模块可以在几秒钟内安装到您的任何应用程序上,帮助您重用现有组件。从现在开始,重新使用为不同项目编写的代码变得非常容易。
  5. 标记并逐步稳定软件包的依赖关系和版本(因为您将开始拥有自己的私人作曲家包生态系统 http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md)

我个人就是这样做的,并且它已经变成了一个非常好的开发过程。每次共享功能时,我只需将其移动到新包并更新composer.json在模块中。Satis https://github.com/composer/satis剩下的事情就交给我们了,我们所有的实时系统的升级速度都非常快。

您可能想阅读更多内容有关作曲家的高级技巧和技巧 http://www.naderman.de/slippy/src/?file=2012-11-22-You-Thought-Composer-Couldnt-Do-That.html一旦你熟悉了它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend Framework 2 可以/应该如何包含到 Git 版本化项目中? 的相关文章

  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • git reflog 和 log 有什么区别?

    手册页说 log 显示提交日志 reflog 管理 reflog 信息 reflog 信息到底是什么 它有哪些日志没有的信息 日志看起来更详细 git log显示当前的 HEAD 及其祖先 也就是说 它打印提交 HEAD 指向的提交 然后打
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • 显示 master 之前/之后有多少提交分支的别名

    新的 Bitbucket Branches 页面非常棒 它显示每个分支领先 落后于 master 的提交数量 是否有显示相同信息的 Git 别名 信息应显示 分店名称 上次更新是什么时候 其背后有多少提交 有多少提交领先于 master 看
  • 除非我在项目目录中,否则 Git 不会显示日志

    我正在尝试打电话git log当我在不同的目录中时 我经过的位置 git is git log Users Leica proj1 但它说 不是 git repo 如果我cd进入这个目录 就可以正常工作了 cd Users Leica Pr
  • Eclipse Git 关键字扩展

    每次我检查 git hub 服务器的源代码时 我都需要更新源代码修订关键字 version date 等 你可能知道 Git 中的主要问题是你无法使用以下命令修改文件 提交后有关提交的信息 因为 Git 首先对文件进行校验 基本上我想要实现
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • git merge 冲突的不同场景

    我试图了解 git 合并后可能发生 git 冲突的情况以及如何避免它们 我创建了一个 git 存储库并向其中添加了一个文本文件 我已将 1 添加到文本文件中并将其提交给 master 我已经从 master 创建了一个新分支 分支 2 并将
  • Gerrit 和 Active Directory

    我正在尝试设置 Gerrit 以使用我们的公司 Active Directory 进行身份验证 我知道很多人都设法让它发挥作用 但它对我来说不起作用 如果我运行一个ldapsearch命令如下我得到了正确的结果 所以我知道我的搜索字符串是正
  • Git 工作流程:分叉项目并维护本地修改副本,但保持最新

    我正在尝试找出最佳工作流程 用于维护具有自定义功能的 github 托管项目 moodle 的本地副本 同时保持保持副本最新的能力 告诉我我正在考虑做的事情是否完全疯狂 分叉项目 github com moodle moodle gt gi
  • 如何恢复 CVS 中的重大更改?

    我的一位同事完全搞乱了我们主 CVS 存储库中目录的内容 我需要将整个模块恢复到去年年底的状态 请问执行此操作的 CVS 命令是什么 他添加和删除了数百个文件 因此简单的 从旧签出和提交中复制文件 是不够的 我有 RTFM 和 STFW 我
  • 这是什么意思? “这正是因为不应该为库的所有用户确定性地重新编译库。”

    我是 Rust 新手 正在尝试了解 Cargo 的事情 我在他们的常见问题解答中读到 为什么二进制文件在版本控制中有 Cargo lock 但库没有 https doc rust lang org cargo faq html why do
  • 如何创建名称中带有正斜杠的标签

    当我已经有了类似的标签时 有什么方法可以创建名称中带有正斜杠的 git 标签吗 假设我有 1 16 0 标签 并且我想创建 1 16 0 1 0 0 标签 git tag 1 16 0 1 0 0 error refs tags 1 16
  • 哪些 git hooks 适用于“git rebase --continue”?

    我正在尝试为我的组织构建一组 git hook 脚本 我想使用的一个脚本 仅用于我自己的多个项目 将是检查git rebase continue我的代码中没有留下任何冲突标记 lt lt lt lt lt or gt gt gt gt gt
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta
  • 在推送后检索孤立的提交对象 --force

    Doing push force总是有点冒险 这里有一个例子 说明它如何产生一些问题 例如远程丢失修订版本 假设 有一个人Bob已更新远程master分支来自B to C 还有另外一个人Mike还没有获取此更新并且HEAD of his m
  • 有没有一种干净的方法来处理两个以相同内容开头的原始 git 存储库?

    假设我有两个根据相同的初始内容创建的存储库 例如 如果我使用 git 来管理 etc apache2 中的 apache 配置文件 然后我运行git init分别在机器 A 和机器 B 上 此后 我对 machine b 进行了一些配置更改
  • Jmeter 和 Bitbucket 服务器负载测试

    我是 Jmeter 的新手 我有一个本地托管的 Bitbucket 服务器 有时 当 Bamboo plan 触发并发 git 克隆操作时 会发现 Bitbucket 服务器变得缓慢 无响应 我必须重新启动服务 我想通过对另一个本地创建的
  • 使用 git 合并两个截然不同的分支?

    我有我的master分支和我的verydifferentbranch它们有相同的祖先 大约 300 次提交前 现在verydifferentbranch功能完整我想把它放在master下面branch 进行变基会导致每个补丁都有很多合并冲突
  • 如何从 Git 存储库中删除选定的提交日志条目,同时保留其更改?

    我想从线性提交树中删除选定的提交日志条目 以便这些条目不会显示在提交日志中 我的提交树看起来像 R A B C D E HEAD 我想删除 B 和 C 条目 以便它们不会显示在提交日志中 但应保留从 A 到 D 的更改 也许通过引入单个提交

随机推荐