Questions tagged «version-control»

使用它来管理对作为计算机文件存储的文档和其他信息的更改。

4
从开发->阶段->生产迁移(CMI)配置的建议工作流程是什么?
几个月前,我们有一个drupalcamp,有人问如何使用新的配置(CMI)系统管理部署。一种可能的理想工作流程是将配置保留在版本控制中,并且仍然能够在团队成员之间迁移配置。 我们在会议室中能够发现的最好结果(部分基于DrupalCon Portland的演讲)是: 告诉版本控制忽略活动的配置目录。 将所有配置复制到暂存目录并提交到版本控制。 并使用settings.php在两个环境之间反转活动目录目录。但是,尽管弄清楚从一台服务器到另一台服务器的部署工作流程虽然复杂但可行,但从多个本地环境(即多个开发人员)到开发人员(或彼此之间)的建议工作流程是什么?可能的问题是每个团队成员会共享相同或相似的环境,那么如何改变一个队友的机器?

1
我需要将站点进行版本控制,并设置持续集成环境
我是一名Drupal 6x项目的企业家,该项目起步时很小,不需要版本控制(针对每个开发人员),但是现在我坚信没有它是没有办法的。JIRA上有大量的文档,并且编写精巧的用户故事涵盖了所有内容。我阅读了一些有关如何完成此工作的信息,并提出了以下计划- 使用模块将站点代码与数据库分开 语境 特征 强壮有力的手臂 探查器 将代码放入SVN存储库中并创建一个暂存站点 在EC2生产服务器上创建登台服务器的镜像 创建Selenium测试,并使用Saucelabs在云上运行它们 使用Elastic Bamboo在JIRA Studio中创建构建工作流程以运行自动更新 使用Drush Make更新和安装配置文件 在生产服务器上运行更新(我不确定如何) 首先,我列出了约50个“功能”,每个功能都有其组成部分(视图,内容类型,模块等)。毫无疑问,这将是一个挑战,因为该站点包含大约十二个自定义模块和Web服务,更不用说另外十二个包含自定义代码的内容类型“应用程序”实例了(我想将其中大多数转换为可升级的视图或模块) 。好消息是该站点尚未投入生产,因此风险仍然有限。 有没有人有做类似事情的经验?我应该遇到什么陷阱和局限性?我将不胜感激任何有关改进/纠正上述计划的建议,或者您的专家可能为我提供的任何见解或建议。

3
使用Drush更新模块的较新开发版本(忽略点/推荐发行版,而不会破坏版本控制)
[NB这个问题是关闭的背面,但分离/进一步,矿井的早期问题,这里。] 我已经使用Drush了好一阵子,但每隔一段时间我就会感到困惑。此刻,我真的不确定该怎么做。 场景:目前,该网站使用的开发版本是过时的。同时,尚未创建任何point release,但已创建了较新的dev版本。所以我们有这样的东西: Reroute Email 6.x-1.x-dev (2010-Sep-27) Recommended version: 6.x-1.0 (2008-Jul-24) Development version: 6.x-1.x-dev (2011-Feb-25) 这样做会drush dl <module>-6.x-1.x-dev用最新的1.x dev版本覆盖现有目录。很好,但是它会将.svn文件夹删除。 如果我这样做了drush upc <module>,它将下载我不想要的点发行版(请参阅下面的编辑),但是如果我这样做了drush upc <module>-6.x-1.x-dev,它只会刷新更新数据,然后在对话框的相关行上告诉我“已安装指定的版本”。输出。 那么,如何使用drush覆盖旧的dev版本,从而在不破坏SVN文件夹的情况下获得新版本? 编辑:实际上,在这种情况下,drush upc <module>下载的是正确的版本,但是我很确定,如果要发布的版本的日期像6.x-1.0(2011-Jan-24)一样,它将得到该版本。任何人都想澄清/纠正吗?

2
如何在3开发环境中使用功能模块?
在一个项目上工作,大量使用Feature,有时该应用程序需要3个开发人员。 我们尝试了几种方法,但是当我们合并git分支时,似乎经常“覆盖”彼此的功能更改。看来,冲突比比皆是,打破了功能模块,使它难以使用。 功能确实是为项目上的一个配置节省时间的绝佳工具,我非常确定有解决此问题的方法。 是否有工作流程或过程可以减少冲突和覆盖的风险? 欢迎提供有关功能的任何线索。

5
在多个安装中管理自定义模块
我们有一些用于多个站点的自定义模块。那些不能作为贡献模块发布,例如,因为它们是特定于客户的,做出的假设不适用于贡献模块等等。 我知道以下可能的解决方法: 复制并粘贴到周围。显然很难在所有安装上都使模块保持最新。 只安装一个多站点,但这并不总是可能的。 使用git子模块,但是它们很讨厌,很容易忘记更新它们,并且并不总是受支持(例如Pantheon) Drush make脚本以从通用git存储库中签出。为此,您AFAIK需要在整个站点上使用drush make,我们目前不使用它。 http://drupal.org/project/fserver。我还没有尝试过,有人知道它是否足够稳定吗?项目描述听起来不太乐观,也没有7.x版本。 还有什么/更好的吗?您喜欢什么,为什么?

2
如何应用补丁文件?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Drupal Answers 的主题。 5年前关闭。 我从mailhandler模​​块下载了补丁文件,需要应用更改才能解决pop3帐户下载(导入)后不删除电子邮件的问题。如何安装?

1
如何仅使用安全补丁程序更新Drupal 7 Core?
我安装了旧的Drupal 7,并且想将我的Drupal 7更新到最新版本,但是我知道,某些自定义模块会在最新更新中失效。 我想要安装的只是最新的Drupal 7的安全补丁。该怎么办?还有在哪里以及如何查看Drupal 7核心更新期间正在修补的内容?


3
在不破坏Git存储库和生产网站的情况下升级Drupal核心的最佳实践是什么
我有一个Git存储库,我所有的代码都在master分支中,以前我只是忽略了所有Drupal文件,因此我在编写(或修改或可能修改)的代码与代码之间严格分开可以用Drush或其他方式生成 在我不得不升级Drupal之前,这似乎是一个不错的策略。我意识到如果情况不佳,我希望能够回滚,并且可以使用比Git更好的工具来做到这一点。我以为自己这是功能分支的理想情况,所以我做了一个drupal-7.14分支,让它自己.gitignore忽略了我所有的代码和设置文件,只注意了Drupal安装中的文件,而我不会这样做。不要碰。我手动进行了升级(下载,解压缩,解压缩,复制),对诸如robots.txt和.htaccess之类的边界案例进行了排序,并用我自己的脚本覆盖了Drupal的.gitignore。我修复了一些适用于7.14但不适用于7.15的设置,以从500错误中恢复,然后一切似乎都很完美。我将分支重命名为,drupal-7.15并且愉快地前进了。 直到我意识到自己无意间做了什么:当我签出master时,以前由master分支取消跟踪但留在工作目录中的文件现在已从工作目录中删除,因为它们不再是取消跟踪的文件! 天哪! 如果我将drupal-7.15分支与master 合并,则将失去代码分离。 可能存在将分支转换为子模块的某种方法。假设这是可能的,那可能是最好的策略。在执行此操作之前,我知道子模块是“正确的”解决方案,但是由于我没有意识到对以前未跟踪的文件使用分支的副作用,因此我决定走捷径。(此外,我所见过的在Drupal中使用子模块的所有方法都假设您正在启动一个新项目,而Drupal将成为master分支。我不希望将其他人的代码设为master分支,而我已经拥有了带有主分支的仓库。这看起来像只是进行升级就不必要地复杂。) 可能还有其他我没有想到的解决方案。 我如何才能以最少的弊端从中最好地恢复过来? 更新:这正在开发中(在我的笔记本电脑上是Linux VM),尚未投入生产。到我们投入生产时,我计划将所有功能包装在功能模块中,但是目前为止还没有。 更新2:子模块可能无法正常工作。根据 Pro Git的说法,“子模块允许您将Git存储库保留为另一个Git存储库的子目录”。Drupal没有提供任何这种很好的分离。并不是所有的Drupal代码都在一个子目录中,而是差不多颠倒了这种关系,但是仍然没有明确的分离,因为您可能正在编辑.htaccess和robots.txt,因此您的代码和Drupal仓库混合在一起了。我正在寻找解决此问题的方法。


2
如何在代码驱动的开发工作流程中平衡功能和安装配置文件?
Drupal安装配置文件(在Drupal 7中)非常强大,几乎可以执行模块可以执行的任何操作。我正在使用“安装配置文件”和“功能”来开发我的网站,将所有内容保留在代码中,因此不必对数据库进行版本控制。 有了安装配置文件的强大功能,您可以在功能模块中完成的许多操作也可以在安装配置文件中完成。例如,创建内容类型,配置权限等。在Drupal中使用代码驱动的开发工作流程时,应该如何确定某个内容属于安装配置文件还是功能模块?

4
如何在GitHub上维护Drupal项目
我在drupal.org上维护了几个模块。花了数年时间以“惯用的方式”做事(还记得CVS吗?),我想让自己的生活更轻松一点,并使用Gi​​tHub。 尽管可能有政治​​原因,这可能是不受欢迎的,但是否有任何技术原因?我认为单向同步可能像执行cron作业一样简单,它可以从github存储库快速推送到相应的drupal.org存储库。 这就是全部吗?是否有现成的工具可以促进这一过程?

1
如何使用drush进行git clone以下载模块的HEAD版本?
有没有办法在drupal.org git存储库中克隆或提取模块的HEAD版本? 例如,如果我在Drupal 7上,并且Views的最后一个分支是3,我想这样做: drush git-clone views 实现相当于: cd sites/all/modules/ git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git 理想情况下,使用drush git-clone views-3x应该显式克隆3.x分支。 这可能还是我在做梦?这对于开发确实有用。

2
将站点代码保留在git中并在同一存储库中放入核心和贡献的最佳方法是什么?
当drupal在CVS中时,我将站点放在git存储库中,然后通过CVS引入核心并做出贡献。这两个系统愉快地并存,我可以跟踪所有更改并制作补丁以贡献模块。现在有了git,我不确定是要下载contrib和core并将其检查到我站点的git仓库中,还是使用子模块? 我想知道是否有任何最佳做法?如果我的仓库使用drupals根目录作为自己的根,如何将核心作为子模块让我感到特别困惑。

3
Drush Make删除.git文件夹
在对drush make和github感到愚蠢的感觉之后,我发现drush make删除了所有.git文件夹(由git用于记录历史记录,配置,原始位置等),我以前听说过,但是没有遇到我自己,因为我不维护make文件。 特别是drush make会删除.git文件夹,并且您可以看到,如果使用--debug选项运行它 Executing: rm -rf '/tmp/drush_make_tmp_1305733094/__git__/__build__/.git' 在我的make文件中,我要从git repo中获取4件事,因为我希望跟踪它们的开发情况,其中2个是我的自定义组件(1个自定义模块和1个记录所有配置的功能),以及其他drupal核心和媒体模块他们收到的大量修复程序。如果我不能拥有各自的.git文件夹,则整个目的似乎被挫败了,但我也确信,有一种方法可以使其他人在git中使用drush make,但无法在我的快速搜索中找到。 谢谢你的时间!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.