提交了一个补丁

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.0,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

提交了一个补丁

补丁的最佳方式提供错误修正或提出增强Symfony。ob娱乐下载

步骤1:设置您的环境

安装软件栈

在Symfony工作之前,设置一个友ob娱乐下载好的环境使用以下软件:

  • Git;
  • PHP版本5.5.9或以上。

配置Git

设置用户信息与你的真实姓名和工作电子邮件地址:

1 2
美元git配置——全球user.name“你的名字”美元git配置——全球用户。电子邮件you@example.com

提示

如果你是新的Git,强烈推荐阅读优秀的和自由的ProGit书。

提示

如果您的IDE创建配置文件在项目的目录中,您可以使用全球.gitignore文件(对于所有项目)或. /信息/排除文件(每个项目),忽略它们。看到GitHub的文档欧宝官网下载app

提示

Windows用户:Git安装时,安装程序会问如何处理线的结局,并建议更换所有低频CRLF。这是错误的设置如果你想Symfony作出自己的贡献!ob娱乐下载选择原有方法是你最好的选择,如Git将转换你的换行的存储库。如果你已经安装了Git,你可以检查这个设置的值通过键入:

1
美元git配置core.autocrlf

这将返回“false”,“输入”或“真正的”;“真”和“假”是错误的价值观。将其更改为“输入”通过键入:

1
美元git配置——全球核心。autocrlf输入

取代——全球的地方如果你想把它只对活动库

Symfony的ob娱乐下载源代码

Symfony的ob娱乐下载源代码:

  • 创建一个GitHub账户和登录;
  • 叉的ob娱乐下载Symfony库(点击“叉”按钮);
  • “分叉行动”完成后,在本地克隆叉(这将创建一个ob娱乐下载目录):
1
美元git克隆git@github.com:用户名/ symfob娱乐下载ony.git
  • 添加上游库作为远程:
1 2
美元cdob娱乐下载美元git远程增加上游git: / /github.com/symfony/symfoob娱乐下载ny.git

检查当前的测试通过

现在安装Symfoob娱乐下载ny,检查所有单元测试通过为您的环境作为专门的解释文档

步骤2:你的补丁

许可

在你开始之前,你必须知道所有的补丁你要提交必须下发布麻省理工学院的许可在你提交,除非显式指定。

选择正确的分支

在一个补丁工作之前,你必须确定你在哪个部门需要工作:

  • 2.8修正一个错误,如果你是为现有的特性或想要改变,落入列表可接受的补丁版本的变化(你可以选择更高的分支,如果你介绍了修复的功能在后面的版本);
  • 如果你添加一个新的功能。

请注意

所有的bug修复合并成维护分支也定期合并到最近的分支。例如,如果您提交的补丁2.8分支,补丁也将应用上的核心团队分支。

创建一个主题分支

每次你想工作在一个补丁一个bug或增强,创建一个主题分支:

1
美元git checkout - b BRANCH_NAME主人

或者,如果你想要提供的错误修复2.8分支,首先跟踪远程2.8本地分支:

1
美元git checkout - t / 2.8

然后创建一个新的分支2.8部门工作错误修复:

1
美元git checkout - b BRANCH_NAME 2.8

提示

为您的分支(使用描述性名称ticket_XXX在哪里XXX机票号码是一个bug修复好习惯)。

上面的付款命令自动切换到新创建的代码分支(检查你正在研究的分支git分支)。

用你的分支在一个现有的项目

如果你想测试你的代码在一个现有的项目使用ob娱乐下载symfony / symfony或Syob娱乐下载mfony的组件,您可以使用链接实用工具Git存储库中提供您以前克隆。这个工具扫描供应商/你的项目目录,发现它使用Symfony包,取代他们的符号链接的Giob娱乐下载t存储库。

1
美元php链接/道路/ /你/项目

在运行之前链接命令,确保项目的依赖你想调试安装运行作曲家安装在里面。

你的补丁

工作的代码尽可能多的你想要提交多达你想要的;但请记住以下几点:

  • 读到的Symfonyob娱乐下载约定并遵循编码标准(使用git diff -检查检查尾部空格——也读下面的提示);
  • 添加单元测试来证明虫子是固定的,或者新功能实际上作品;
  • 努力不是打破向后兼容性(如果你必须这样做,试图提供一个兼容层支持老方法)——补丁打破向后兼容性更少被合并的机会;
  • 原子和逻辑上独立的提交(使用的力量吗git变基有一个干净的历史和逻辑);
  • 从来没有解决编码标准在某些现有的代码,因为它使代码评审更加困难;
  • 写好提交消息(参见下面的提示)。

提示

当提交请求,fabbot检查您的代码为常见的拼写错误和验证您使用PHP编码标准中定义的PSR-1PSR-2

状态发布以下拉请求的描述与总结它检测到的任何问题或任何特拉维斯CI构建失败。

提示

良好的提交消息是由总结(第一行),可选地紧随其后的是一个空行和一个更详细的描述。摘要应该开始与组件在方括号(你工作(DependencyInjection),(FrameworkBundle),……)。用一个动词(固定的……,添加……,…)开始总结,不要添加在最后一段。

准备提交你的补丁

当你的补丁不是一个bug修复(当你添加一个新的功能或改变现有的一个实例),它还必须包括以下:

  • 相关的变化的解释更新日志文件(s) ((公元前打破)或者是(弃用)时,必须使用前缀相关);
  • 解释如何升级现有的应用程序相关的升级文件如果打破向后兼容性的变化或者轻视的东西最终将打破向后兼容性。

第三步:提交你的补丁

当你觉得你的补丁已经准备好提交,遵循以下步骤。

变基你的补丁

之前提交你的补丁,更新你的分支(如果需要一段时间来完成你的需要更改):

1 2 3 4 5
美元git checkout主美元git获取上游美元git合并上游/主人美元git checkout BRANCH_NAME美元git变基主

提示

取代之前与您所选择的分支(如。2.8如果你正在一个错误修复

当在做变基命令,您可能必须解决合并冲突。git状态将告诉你unmerged文件。解决所有的冲突,然后继续变基:

1 2
美元git添加…#添加解析文件美元git变基——继续

检查所有测试仍然通过,推动你的远程分支:

1
美元git push——迫使BRANCH_NAME起源

做一个拉请求

你现在可以把请求的ob娱乐下载symfony / symfonyGitHub库。

提示

小心点你的拉向请求ob娱乐下载symfony: 2.8如果你想要核心团队将根据错误修复2.8分支。

为了缓解核心团队的工作,总是在将请求消息中包含修改后的组件,如:

1 2
(Yaml)固定的东西(形式)(Validator) [FrameworkBundle]添加一些东西

默认拉请求描述包含一个表,你必须填写适当的答案。这将确保贡献可能审查没有不必要的反馈循环,你的贡献可以尽快列入Symfony。ob娱乐下载

一些答案的问题引发更多的要求:

  • 如果你的回答肯定“Bug修复?”,check if the bug is already listed in the Symfony issues and reference it/them in "Fixed tickets";
  • 如果你的回答肯定“新特性?”,you must submit a pull request to the documentation and reference it under the "Doc PR" section;
  • 如果你的回答肯定“BC休息?”,the patch must contain updates to the relevant更新日志升级文件;
  • 如果你的回答肯定“用法吗?”,the patch must contain updates to the relevant更新日志升级文件;
  • 如果你回答没有测试通过,您必须添加一个项目一个todo - list的行为必须修复完成测试;
  • 如果“许可证”不是麻省理工学院,只是不提交拉请求,因为它不会被接受。

如果一些之前的需求没有得到满足,创建一个todo - list和添加相关项目:

1 2 3
——[]修复测试作为他们尚未更新-[]文档提交变化[]文档BC优惠欧宝官网下载app

如果代码还没有完成,因为你没有时间完成它还是因为你想要的早期反馈在你的工作上,添加一个todo - list:项

1 2
————[][]完成代码收集反馈为我改变

只要你在为todo - list条目,请前缀拉请求标题用“(在制品)”。

把请求中的描述,给尽可能多的细节您的更改(不要犹豫给代码示例来说明你的观点)。如果你把请求是关于添加或修改一个现有的一个新特性,解释变化的基本原理。拉请求描述帮助代码评审和它作为一个参考当代码合并(拉请求描述和其相关的评论是合并提交消息的一部分)。

除了这个“代码”拉请求,你必须发送一个请求欧宝官网下载app文档存储库在适当的时候来更新文档。欧宝官网下载app

修改你的补丁

基于反馈拉请求,您可能需要重做你的补丁。在重新提交补丁之前,变基上游/主上游/ 2.8,不要合并;和力推动原点:

1 2
美元git变基- f上游/主人美元git push——迫使BRANCH_NAME起源

请注意

在做一个推,力,总是显式地指定分行名称,以避免破坏其他分支回购(——力告诉Git,你真的想仔细惹事情这样做)。

主持人问你“南瓜”早些时候提交。这意味着您将许多提交转换为一个承诺。今天这不再是必要的,因为Symfony项目使用的专有工具自动南瓜合并之前提交。ob娱乐下载

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。