如何在GitHub上维护一个Drupal项目 -- version-control 领域 drupal 相关 的问题

How to maintain a Drupal project on GitHub


11
vote

问题

中文

我在drupal.org上维护多个模块。花了多年的事情,做事"Drupal的方式" (记住CVS?)我想让我的生活更轻松,使用GitHub。

虽然可能有政治​​原因这可能是不可取的,有没有技术原因?我想到单向同步可以像Cron作业一样简单,这是从Github repo到相应的drupal.org回购的快速推送。

是那里有什么吗?是否有现有的工具来促进此方法?

英文原文

I maintain several modules on drupal.org. Having spent years doing things "the drupal way" (remember CVS?) I'd like to make my life a bit easier and use GitHub.

While there may be political reasons this could be undesirable, are there any technical reasons? I imagine one-way syncing could be as simple as a cron job that does a fast-forward push from a github repo to the corresponding drupal.org repo.

Is that all there is to it? Are there existing tools to facilitate this?

  
 
 

回答列表

5
 
vote
vote
最佳答案
 
在技​​术上,在如此从多个git推动/拉动雷点。在您的情况下,听起来您设置了2个遥控器(Git.drupal.org& github.com),根据需要拉/推动github.com,然后在您准备就绪时按到Git.drupal.org发布更新。

就政治而言,在上,结帐它可能包含来自与您在同一情况的其他人的一些想法/见解。

 

Technically, this post on SO covers pushing/pulling from multiple git remotes. In your case, it sounds like you'd set up 2 remotes (git.drupal.org & github.com), pull/push from github.com as needed, then push to git.drupal.org when you're ready to publish updates.

As far as the politics, checkout this thread on g.d.o. It might contain some thoughts/insights from other people who are in the same situation you're in.

 
 
   
   
3
 
vote

Restful模块正在谈论他们完全开发模块的原因和经验在github上:

https://www.lullabot.com/blog/播客/ Drupalizeme-Podcast / 55 restful-module

(分钟38:32)

希望它有所帮助,

 

The maintainers of the RESTful module were talking recently about their reasons and experience developing the module entirely on Github:

https://www.lullabot.com/blog/podcasts/drupalizeme-podcast/55-restful-module

(minute 38:32)

Hope it helps,

 
 
2
 
vote

您可以考虑 http://hubdrop.org/ 服务

http://thinkdrop.net/blog-entry/fechuty-26-2014-902am/introduting-hubdropio-bridging-gap-between-drupalorg-and-github

 

You could consider the http://hubdrop.org/ service

http://thinkdrop.net/blog-entry/february-26-2014-902am/introducing-hubdropio-bridging-gap-between-drupalorg-and-github

 
 
   
   
1
 
vote

如果要发布实验代码,请使用Github进行大量意义。您永远不会计划作为完整项目发布的模块。

当您管理贡献的模块时,每个人都可以自由参与。此外,Drupal.org与Git.Drupal.org完全集成,因此您真的必须使用它。

  • 提交归因
  • 发出提交的提交消息回到提到的问题。
  • 新开发商的审查过程。
  • 项目发布集成(分支和标签)。
  • 模块安全审查和项目所有权转移。

我认为如果将代码转移到Github并要求其他人参加那里,那就会更好。此外,我真的很满意现在我们的版本控制系统以及它们如何随着时间的推移先进。

但是,如果您维护任何其他Drupal Addons,例如,IDE的配置文件,网站迁移脚本,概念证明或类似的内容,我认为Github会更好。 此外,如果要使用Drupal.org Git,则需要在GPL下发布您的代码。

我也维护一些模块,除了drupal.org之外,我还添加github远程处理程序。当您按下代码时,您只需以同样的方式将其推到Github。

 

It makes a lot of sense to use GitHub if you want to publish experimental code. The modules that you'll never plan to publish as a full project.

When you manage a contributed module, everyone is free to participate. Besides, drupal.org has tight integration with git.drupal.org, so you really have to use it.

  • Commit attribution
  • Issue mentions in commit messages fed back to the mentioned issue.
  • Vetting process for new developers.
  • Project release integration (branches and tags).
  • Module security reviews and project ownership transfers.

I do not think it would be better if you move your code over to GitHub and ask others to participate there. Besides, I'm really happy with the version control systems now we have and how they have advanced over time.

However, if you maintain any other Drupal addons, for example, an configuration file for an IDE, a site migration script, proof of concepts, or something like that, I think github would fit better. Also, there is a requirement to publish your code under GPL if you want to use drupal.org git.

I also maintain some modules, and I add github remote handler in addition to the drupal.org one. When you push your code, you can simply push it to GitHub the same way.

 
 
     
     

相关问题

1  如何从不同的释放分支抓取多个提交?  ( How do i grab multiple commits from a different release branch ) 
我目前是在drupal.org上维护一个模块。我希望在8.x释放中工作很高,但我没时间了,并在7.x-2.x分支中赚了额外的提交。现在我的git存储库看起来像下面的东西: 7.x-2.x x - x - x - x - x - x - x 8.x-...

1  有没有办法将Acquia云与问题跟踪器连接?  ( Is there any way to connect acquia cloud intance with issue tracker ) 
如有问题,我正在寻找一种用默认云托管的开发网站连接任何问题跟踪器的方法。 我想在git提交和问题之间建立连接。 是可以在atsia中的可能性吗? ...

7  将数据(仅限)从生产站点复制到测试站点的最佳实践在将视图导出为产品以便刺激后?  ( Best practices for copying data only back from production site to testing site ) 
在构建/测试Drupal 7站点后,我将其部署到Prod Server,将所有视图导出为功能。现在,视图都是"在数据库" 上的测试网站上,但在实时站点上的"代码" - 在Prod中不应完成任何观点编辑的理论。现在,如果我想复制我的产品数据库(但不是代码)回到我的测试站点进行新的开发阶段,避免在我的DEV网站上避免覆...

0  节点内容版本控制和比较工具  ( Node content versioning and compare tool ) 
我已经知道Drupal支持节点内容版本控制,我想知道的是多少? i例如,创建内容类型的"文章" 并为其添加一些额外的文本字段,文章内容应该有许多作者/审阅者的能力进行审查和更改,并将其更改保存,因为单独的记录不受影响实际文章记录,只有我批准他们的变化,他们将反映在主要文章记录中。 当前支持哪种功能,什么不是? 感谢...

2  如何应用补丁?  ( How to apply patches ) 
我在FTP服务器中安装了Drupal 7。我试图申请一个drupal补丁。 我确实在线看到了许多链接,但没有人展示如何在托管在托管帐户的FTP服务器中进行操作。我认为我可以做很多方法。一种方法是获得净豆。我不确定我是否需要首先在FTP服务器中安装Net Bean或安装到我的本地计算机中。 如果您可以为初学者提供一些细...

0  git push to drupal.org始终返回“最新的一切”  ( Git push to drupal org always returns everything up to date ) 
这个同样的问题已经多次被问到了很多次,但现在我没有找到答复中的任何帮助。 我有一个项目在 sandbox 我经常被推到Drupalgit 存储库在审查过程中没有任何问题。 然后成功获得权限,我首先想要推广我的沙箱根据这些说明,但由于某种原因编辑我的沙箱页面从未向我展示"宣传" 标签。 所以我决定创建一个完整的项目从头...

2  内联实体表单 - 从第一个新节点打开开始  ( Inline entity form start with first new node open ) 
我的安装是使用内联实体表单,我希望它在用户访问时"创建节点" 页面,内联实体表单已开始已可见,但使用所有字段为空并准备好创建(无需单击"添加节点" )。 我想在我的主题中实现一个模块或tpl文件来实现这一目标。请你建议如何去做。 我已经使用了这个补丁 https://www.drupal.org/node/2225...

4  如何在Debian 8上正确安装Drush 8?  ( How to install drush 8 properly on debian 8 ) 
查找有关如何安装DRUSH的数百篇文章和文档,但其中一定是究竟在哪里以及我有点丢失。 我有一个带有root用户,nginx和ssh用户的debian 8系统。 现在我想和狗狗8一起准备好杜拉努尔8。 但我不想在我的服务器上安装Git - 这是这种常见的做法吗?我经常认为软件较少越好? 所以 - 任何在没有git的...

1  Drupal-git-sandbox项目:提交显示但没有新的修订  ( Drupal git sandbox project commits are shown but no new revision ) 
我不知道为什么我没有新的修订,我所做的: 我在本地更改我的代码,然后: [article] type3 结果: 在Drupal.org上的Sandbox存储库中显示了一个新提交。但我也需要一个新的修订!我是Git的新手,所以任何人都可以解释我的误解吗? ...

1  使用git结帐模块的特定开发版本  ( Checkout a specific dev version of module using git ) 
我想使用git检查Feeds模块的特定开发版本。我有一个使用Feeds 7.x-2.x-dev的网站。在模块管理页面上,模块版本号被报告为 7.x-2.0-alpha8+99-dev 。 我已经克隆了饲料模块回购,但不能解决如何结账特定版本。我尝试使用 git checkout 7.x-2.0-alpha8+99-...

0  模块将github内容导入本地Drupal服务器  ( Module to import github content onto local drupal server ) 
我希望能够将内容从github放入drupal的站点/默认/文件文件夹中,所以我想知道是否有办法执行此操作。 ...

0  存储库模块代码与下载的文件完全不同  ( Repository module code completely different from downloaded file ) 
使用尚未在大约三年内更新的Drupal SoundManager2模块。添加了一些功能,并希望提交补丁。 我认为这可以是通过git : git clone --branch master http://git.drupal.org/project/soundmanager2.git 但文件在树中下载ZIP文...

2  Drupal部署到Dev&Prod和Git代码存储库设置  ( Drupal deployment to dev prod and git code repository setup ) 
我有一个带有4个开发人员的DEV和PROD服务器。设置开发代码推送环境的最有效方式是什么?无需必须在此过程中实现?我知道这些天称之为CI(持续集成)。但是,它可以涉及在部署期间涉及许多移动部件我读取了一些设置在过程中具有自动化测试。我不相信我需要那个是一个额外的管理系统。 我的网站主要主要是信息网站,它主要用于在内...

0  如何将多个修补程序提交给Control模块?  ( How to submit multiple patches to a contrib module ) 
我正在构建一个Web应用程序并使用一些Contrib模块。我依靠特定的模块,几个月前已经提交了一个修补程序,最终提交了。 在这些时代,我有一些新的要求,因此我为模块添加了新功能,并发现了两个(无关)错误。 现在一个愚蠢的怀疑抓住了我,我被困。我的问题是:我现在应该怎么做? 创建三个问题(或者在现有的问题中写入,如果...

0  醉汉制作,git存储库结帐特定子目录  ( Drush make git repository checkout specific subdirectory ) 
我有一个制作文件,我想在远程git存储库中加入,只获取子目录。我尝试如下: projects[example_module][type] = "module" projects[example_module][download][type] = "git" projects[example_module][dow...

2  A /和B /在补丁标题中代表什么?  ( What does a and b stands for in patch header ) 
第一行修补程序始终具有这种代码: diff --git a/i18nviews.inc b/i18nviews.inc 或 diff --git a/plugins/views_plugin_localization.inc b/plugins/views_plugin_localization.in ...

0  如何在NetBeans上撤消Drupal补丁  ( How to reverse a drupal patch on netbeans ) 
有没有办法在NetBeans上反转补丁? 只是简单地复制目标文件并重新制作它将工作? 或者补丁会影响Mutliple模块和代码? ...

3  递归苏打制作,使用不同的Git分支  ( Recursive drush make working with different git branches ) 
Setup 对于每个站点,我们创建了一个自定义Drupal安装配置文件,其中包含 drush make (通过aegir,虽然不应该产生差异)。 有一个顶级构建makefile下载Drupal核心和我们的安装配置文件,安装配置文件包含一个makefile指定要下载的功能,每个都有一个makefile指定其依赖项(...

0  在Drupal 7中替换更新的模块,而不从以前的模块效果数据库?  ( Replacing the updated module in drupal 7 without effecting the database from pre ) 
我已经看到,每当我们将修补程序应用于模块时,在不重新安装模块的情况下,模块的新更新将不会反映出来。 问题正在重新安装模块将截断数据库中的模块相关表。是否有其他方式,这样我们就可以替换更新的模块而不影响上一个模块的数据? 提前谢谢。 ...

1  Drupal 7如何了解其版本?它检查哪个文件?  ( How does drupal 7 know its version which file does it check ) 
嗨,我只是很想知道版本信息的元数据在哪里,drupal在文件中定义了它的版本... ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.