提出一个改变
编辑该页面提出一个改变
截屏视频
你喜欢视频教程?检查回到Symfony贡献ob娱乐下载视频系列。
拉力要求,简称“公关”,最好的办法是提供一个错误修正或提出改进Symfony。ob娱乐下载
步骤1:检查现有的问题和请求
在改变之前,看看别人也提高了主题甚至开始在公关工作GitHub上搜索。
如果你不确定或整个过程中如果你有任何问题,请在问你问题#普通发布版
频道ob娱乐下载Symfony松弛。
第二步:设置您的环境
配置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库(点击“叉”按钮);
- 取消选择“复制”
X.Y
分支只有”; - “分叉行动”完成后,在本地克隆叉(这将创建一个
ob娱乐下载
目录):
1
美元git克隆git@github.com:用户名/ symfob娱乐下载ony.git
- 添加上游库作为远程:
1 2
美元cdob娱乐下载美元git远程上游添加https://github.com/symfony/symfonyob娱乐下载.git
步骤3:你的请求
许可
在你开始之前,你应该知道你要提交的所有代码必须在释放麻省理工学院的许可。
选择正确的分支
公关工作之前,您必须确定在哪个部门需要工作:
- 如果你对现有的功能或修复一个缺陷属于想要改变列表可接受的补丁版本的变化有关,选择最古老的(你可以找到他们在维护分支ob娱乐下载Symfony发布页面)。例如,如果你发现了一个bug了
v5.1.10
,你需要工作5.4
。 6.3
如果你添加一个新的功能。唯一的例外是当一个新的主要Symfob娱乐下载ony版本(5.0,6.0等)每两年出来。因为特殊的开发过程的版本中,您需要使用先前的小版本的特性(例如使用
5.4
而不是6.0
,使用6.4
而不是7.0
等)。
请注意
所有的bug修复合并成维护分支也定期合并到最近的分支。例如,如果您提交的公关5.4
分支,公关也将适用于所有的核心团队6.倍
分支机构仍维持。
创建一个主题分支
每次你想工作在一个公关错误或增强,创建一个主题分支:
1
美元git checkout - b BRANCH_NAME 6.1
或者,如果你想要提供的bug修复5.4
分支,首先跟踪远程5.4
本地分支:
1
美元git checkout,追踪来源/ 5.4
然后创建一个新的分支5.4
分支的bug修复:
1
美元git checkout - b BRANCH_NAME 5.4
提示
为您的分支(使用描述性名称ticket_XXX
在哪里XXX
机票号码是一个bug修复好习惯)。
上面的付款命令自动切换到新创建的代码分支(检查你正在研究的分支git分支
)。
用你的分支在一个现有的项目
如果你想测试你的代码在一个现有的项目使用ob娱乐下载symfony / symfony
或Syob娱乐下载mfony的组件,您可以使用链接
实用工具Git存储库中提供您以前克隆。这个工具扫描供应商/
你的项目目录,发现它使用Symfony包,取代他们的符号链接的Giob娱乐下载t存储库。
1
美元php链接/道路/ /你/项目
在运行之前链接
命令,确保项目的依赖你想调试安装运行作曲家安装
在里面。
提示
如果符号链接到您的本地Symfony叉内部无法解决您ob娱乐下载的项目由于开发环境使用的流浪汉时(例如,只有当前项目目录安装),或者可以使用——复制
选择。当你完成测试Symfony代码到您的项目,您可以使用ob娱乐下载——回滚
选择让你的项目回到原来的依赖关系。
你的请求
工作的代码尽可能多的你想要提交多达你想要的;但请记住以下几点:
- 读到的Symfonyob娱乐下载约定并遵循编码标准(使用
git diff -检查
检查尾部空格——也读下面的提示); - 添加单元测试来证明虫子是固定的,或者新功能实际上作品;
- 努力不是打破向后兼容性(如果你必须这样做,试图提供一个兼容层支持老方法)——PRs打破向后兼容性更少被合并的机会;
- 原子和逻辑上独立的提交(使用的力量吗
git变基
有一个干净的历史和逻辑); - 从来没有解决编码标准在某些现有的代码,因为它使代码评审更加困难;
写好提交消息:首先一个简短的标题(第一行),紧随其后的是一个空行和一个更详细的描述。
主题应该开始与组件、桥梁或包你工作在方括号(
(DependencyInjection)
,(FrameworkBundle)
,……)。然后利用句子,不最后一段,使用一个命令动词开始。
这是一个完整的示例主题:
(MagicBundle)添加“MagicConfig”,允许配置的东西
。
准备提交请求
当你的公关不是bug修复(当你添加一个新的功能或改变现有的一个实例),它还必须包括以下:
- 相关的变化的解释
更新日志
文件(s) ((公元前打破)
或者是(弃用)
时,必须使用前缀相关); - 解释如何升级现有的应用程序相关的
升级
文件如果打破向后兼容性的变化或者轻视的东西最终将打破向后兼容性。
第四步:提交你的请求
当你觉得你的公关是准备提交,遵循以下步骤。
变基拉请求
之前提交你的公关,更新你的分支(如果需要一段时间来完成你的需要更改):
1 2 3 4 5
美元git checkout 6.倍美元git获取上游美元git合并上游/ 6. x美元git checkout BRANCH_NAME美元git变基6.倍
提示
取代6.倍
之前与您所选择的分支(如。5.4
如果你正在做一个bug修复。
当在做变基
命令,您可能必须解决合并冲突。git状态
将告诉你unmerged文件。解决所有的冲突,然后继续变基:
1 2
美元git添加…#添加解析文件美元git变基——继续
检查所有测试仍然通过,推动你的远程分支:
1
美元git push——迫使BRANCH_NAME起源
做一个拉请求
你现在可以把请求的ob娱乐下载symfony / symfony
GitHub库。
提示
小心点你的拉向请求ob娱乐下载symfony: 5.4
如果你想要核心团队将一个基于bug修复5.4
分支。
为了缓解核心团队的工作,总是在将请求消息中包含修改后的组件,如:
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 PR must contain updates to the relevant
更新日志
和升级
文件; - 如果你的回答肯定“用法吗?”,the PR must contain updates to the relevant
更新日志
和升级
文件; - 如果你回答没有测试通过,您必须添加一个项目一个todo - list的行为必须修复完成测试;
- 如果“许可证”不是麻省理工学院,只是不提交拉请求,因为它不会被接受。
如果一些之前的需求没有得到满足,创建一个todo - list和添加相关项目:
1 2 3
——[]修复测试作为他们尚未更新-[]文档提交变化[]文档BC优惠欧宝官网下载app
如果代码还没有完成,因为你没有时间完成它还是因为你想要的早期反馈在你的工作上,添加一个todo - list:项
1 2
————[][]完成代码收集反馈为我改变
只要你在为todo - list条目,请前缀拉请求标题用“(在制品)”。
把请求中的描述,给尽可能多的细节您的更改(不要犹豫给代码示例来说明你的观点)。如果你把请求是关于添加或修改一个现有的一个新特性,解释变化的基本原理。拉请求描述帮助代码评审和它作为一个参考当代码合并(拉请求描述和其相关的评论是合并提交消息的一部分)。
除了这个“代码”拉请求,你必须发送一个请求欧宝官网下载app文档存储库在适当的时候来更新文档。欧宝官网下载app
第五步:接收反馈
我们问所有贡献者遵循一些最佳实践确保一个建设性的反馈过程。
如果你认为有人无法记住这些建议,你想要另一个角度来看,请加入#普通发布版
频道ob娱乐下载Symfony松弛。如果你收到反馈你找到的请联系护理团队。
的核心团队负责决定哪些公关被合并,所以他们的反馈是最相关的。所以不要觉得有压力重构代码立即当有人提供反馈。
自动反馈
有许多自动化脚本,该脚本将把请求提供反馈。
自动化测试
一系列自动化测试运行时提交请求。这些测试代码在不同条件下,可以肯定的是没什么坏了。测试失败可以与您的更改。如果你认为这种情况下,您可以检查如果目标分支有相同的错误和公关上留下评论。
否则,测试失败可能是由于您的更改。以下测试场景运行在每个更改:
-
PHPUnit) /测试
-
这个工作上运行Ubuntu使用多个PHP版本(在各自工作)。这些工作在本地运行testsuite就像你会做的。
失败经常在这些工作表明代码中的缺陷。
-
PHPUnit) /测试(high-deps)
-
这个工作检查每个包(桥,包或组件)
src /
分别通过调用作曲家更新
和phpunit)
在每个包中。失败在这个工作通常表示丢失的包的
composer.json
失败的包(如。src ob娱乐下载/ Symfony /包/ FrameworkBundle / composer.json
)。这个工作还经营相关的包使用测试(“翻转”
^
后缀在包名)。这些测试结帐前(如大释放。5.4
把请求6.3
)和运行测试和你的部门的依赖。在这些失败了测试表明向后兼容性闯入您的更改。
-
PHPUnit) /测试(low-deps)
-
这个工作也单独检查每个包,然后使用
作曲家更新——prefer-lowest
在运行测试之前。失败在这个工作经常显示一个错误的版本范围或丢失的包的
composer.json
失败的方案。 -
持续集成/ appveyor /公关
-
这个工作运行在Windows上使用x86架构和最低的PHP版本的支持。首次运行所有的测试,没有额外的PHP扩展。然后,所有跳过运行测试使用所有必需的PHP扩展。
失败在这个工作通常表明您的更改不支持窗口,x86与最小或PHP扩展。
-
集成/测试
-
集成测试需要其他服务(如复述或RabbitMQ)。这个工作只运行的测试
集成
PHPUnit)组。失败在这个工作指示与这些服务中的缺陷沟通。
-
PHPUnit) /测试(实验)
- 这个工作总是通过(即使测试失败)和使用核心团队准备即将到来的PHP版本。
返工将请求
基于反馈拉请求,你可能需要返工公关。在补交公关之前,变基上游/ 6. x
或上游/ 5.4
,不要合并;和力推动原点:
1 2
美元上游git变基- f / 6. x美元git push——迫使BRANCH_NAME起源
请注意
在做一个推,力
,总是显式地指定分行名称,以避免破坏其他分支在存储库中(——力
告诉Git,你真的想仔细惹事情这样做)。
主持人问你“南瓜”早些时候提交。这意味着您将许多提交转换为一个承诺。今天这不再是必要的,因为Symfony项目使用的专有工具自动南瓜合并之前提交。ob娱乐下载