IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌 全国咨询热线:0371-67988003
课程 请选择课程
    校区 请选择校区
      • 华为
        授权培训中心
      • 腾讯云
        一级认证培训中心
      • 百度营销大学
        豫陕深授权运营中心
      • Oracle甲骨文
        OAEP中心
      • Microsoft Azure
        微软云合作伙伴
      • Unity公司
        战略合作伙伴
      • 普华基础软件
        战略合作伙伴
      • 新开普(股票代码300248)
        旗下丹诚开普投资
      • 中国互联网百强企业锐之旗
        旗下锐旗资本投资

      【技术】Unity 开源项目参与指南

      • 发布时间:
        2014-12-18
      • 版权所有:
        云和教育
      • 分享:

      在上个月的Unite大会上,我们宣布了开放源代码的计划,也就是说未来Unity有一些组件将开源。自从我们公布了在BitBucket(源码托管网站)上的Unity Test Tools项目,我们已经看见众多开发者进行了各种克隆、创建分支、拉取代码的操作(你可以从TestTools工程的仓库中看到工程的发展动态,当然你也可以在工程的事件追踪器issue tracker中来观察)。此后,我们还发布了Xcode Manipulation API(允许开发者修改和调整所生成的Xcode项目)和iOS Native Code示例项目(给出一些类似于如何整合Unity和Native UI以及进行NativeVideo Rendering的例子)。现在,我们正在加紧Unity4.6版本中的全新的UI系统的开源工作(目前为公测beta版),同时我们也正在制定对于更多组件进行开源的计划。

      我们还公布了参与指南,它是Unity用户手册中的一部分。今天,就让我同大家一起来了解一下其中的具体步骤。

      参与步骤

      我们的代码仓库托管在Mercurial或者Git的BitBucket上。如果你曾经参与过在GitHub上项目的开发,那么它们的步骤基本相似。但是如果你以前使用的是Perforce或者SVN(或者一些其他的集中式版本管理系统),那么类似于“forks(分支)”,“clones(克隆)”,“pushing(推送)”和”pulling(拉取)”这些概念对于你可能比较陌生,我们建议你详细遵循参与者指南的步骤(因为在每一个步骤都附带了截图指导)并且充分利用“扩展阅读”这部分的内容。

      你需要做的第一件事情就是创建一个BitBucket的账户,这是我们我们管理资源库的地方。这有一个非常简单的步骤(如果你从未用过BitBucket,但是你有一个GitHub的账号,你可以在BitBucket上使用相同的一个账号)(你首先需要创建一个BitBucket的账号,然后再连接你的GitHub(或者是谷歌)账号,然后你就可以用你的GitHub(或谷歌)账号登陆到BitBucket了),同时如果你还在思考为什么我们不用GitHub,而用BitBucket,请查看我们的常见问题解答。

      下一步,你要在BitBucket的Unity 主页上,找到你想要参与的资源库。一旦完成以上操作,你就可以在你自己的空间上建立一个资源库的分支(fork)。一个资源库的分支就是一个简单的资源库的克隆体,它将存贮在你自己的私有空间下,并且你可以在这里随意的推送提交你的更改。

      克隆分支以及确认你的更改。除非你喜欢低效混乱的命令行工具,我们推荐Atlassian的SourceTree,它同时整合了Mercurial和Git。无论你使用的是Mercurial或者是Git,或者无论你在Mac或者Windows平台下工作,它都非常适用于你。

      最后从你的分支开启一个pull请求,然后等待。Unity工程师将会查看你的pull请求,并且处理它,如果通过了审核,它将被合并到我们的仓库中。

      处理过程类似于:

      Pull请求后的出现的情况

      当你提交一个pull的请求,通常可能会发生以下4种情况之一:

      1. pull请求通过,并最终被整合。

      2. pull请求因为拒绝而关闭。

      3. pull请求不是因为被拒绝而关闭,而是Unity工程师要求你在分支被顺利合并之前做一些其他的工作。

      4. pull请求被拒绝,但是Unity工程师仍然会采用pull请求中一部分的更改。

      情况1和2是很简单明了的。情况3通常意味着你需要清空或者是处理一些额外情况。如果Unity工程师并不想采用你所有的更改,而只是选取其中一部分,或者以往的更改需要在应用之前清空的时候,通常会发生第4种情况。在UnityTest Tools项目中,我们已经碰到了第1,第2和第4种情况。

      在任何情况下,你将通过邮件收到关于你的pull请求活动的通知,所以请确保你设置了能从BitBucker收到邮件通知。

      就这么简单

      所以,仅仅几个简单的步骤,你就可以参与改善Unity和它的整个系统,这不只是为了你自己,而且也是为Unity社区中的每一个人。正如之前说到的,我们非常期待看到你的贡献!