GITHUB学习报告 学习报告 .doc

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GITHUB学习报告 学习报告 对于Github的一些理解 Github是一个面向开源私有软件项目的托管平台,用户可以在这个平台上获得巨量的开源代码。 对于一个开源项目,在github上有两类人,一类是核心开发团队,他们可以直接向保存源代码的版本库提交代码,对源代码的修改具有最终的决定权。另一类是贡献者,他们不属于核心开发团队,但是也可以通过fork来获取源代码进行修改,但是无权直接向版本库提交代码。 Github是一个分布式的版本控制系统,用户可以通过fork来为一个开源代码做出贡献,也可以将自己的程序代码上传进行托管。fork就是分支,就是把原仓库中的代码复制一份,作为一个分支。通过fork,可能同时有多个programer进行编写修改,但只能通过pull-request机制进行代码更新合并,除此之外,原代码库并不会进行修改,各个fork都可以自由修改,直到fork执行了pull-request指令之后,代码库才会进行更新。 使用github无论是核心开发团队,或者是贡献者,都可以方便地获取开源代码进行修改并更新合并,通过托管这一形式,优化了版本控制的一个协同模式,更加便于程序的开发,是十分便利的一项符合大数据时代的工作模式。 Git的经典开发流程如下: 1.通过从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2.在自己的机器上根据不同的开发目的,创建分支,修改代码。 3.在单机上自己创建的分支上提交代码。 4、在单机上合并分支。 5、把服务器上必威体育精装版版的代码fetch下来,然后跟自己的主分支合并。 6、生成补丁(patch),把补丁发送给主开发者。 7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。 8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 这一系列流程适合的是分布式开发,强调个体的重要性,而且公告服务器的数据量不是很大,减少了服务器的压力。速度快,灵活便于操作。开发冲突产生时容易解决。 对于开源软件开发的一些理解 典型的开源式开发通常是由个人进行的,所有的项目规划和思路都由个人完成,当软件差不多接近beta0.1的时候,就会推出公开。 然而如果这个软件十分吸引人,就会有其他的一些programmer想要参与其中,用户之间也会有传播。有了足够多的用户之后,有一些programmer可能会想要改进软件的某个功能或者修复一些bug,就会慢慢走向这个最先的开发者,成为一个团队。这个时候,开发团队就初具规模了。 所有团队的参与者,都是凭借自己的兴趣参与其中。根据自己或者是其他的用户的一些需求来进行修改。作为项目发起人,首先要认识到其他的参与者是为了满足自己的需求才会参与,而不是无偿的劳力,他们对自己没有义务。因此,大多数参与者都是因为某个环节的功能改进需求而参与的。 而版本控制就是为了解决多人协作开发而出现的,例如:svn,git等。而一些大的开源软件,其背后是有大型公司支持的,例如:apache有IBM和Oracle。 并且,开源软件是一种有版权的软件,开源软件许可协议是其版权实施的延伸。开源软件的版权理论上属于软件的作者和后续的贡献者,当你参与这个软件项目当中时,实际上你已经默认同意了该软件的许可协议。而开源软件的许可协议又是开放的,只要被许可人不遵守有关协议,许可会随时被终止,并承担违约金的风险。 开源软件通过“免费软件+收费硬件或者收费资料或者收费版本授权”等方式来回收开发成本。例如:MySQL被sun以十亿美金收购,spring被VMware以四点二亿美金收购。因此,并不用担心开源软件没有收益等问题。 对于pull request的一些理解 假如你想为某个现有的开源项目贡献代码而你又不是该项目的项目成员的话,就用fork + pull request方式来提交你的修改。Fork是创建一个源数据库的副本,可以自由修改,不会影响到已经上传到git的数据项目。当你修改提交完成,如果我们想要把自己的修改合并到源数据库中,就需要pull request操作。 Pull request是项目的管理者对修改后的代码进行审核,如果通过了,就会合并到源库中。 而如果你是一个项目的管理者,通过pull request操作你可以审查参与的贡献者对你的源代码进行了那些修改,以及他们给出的

文档评论(0)

raojun0013 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档