源代码管理工具介绍
—————github
为什么会出现源代码管理工具?
为了解决软件开发过程中,由源代码引发的各种繁琐的问题
源代码会引发哪些问题?
1).无法后悔:做错了一个操作,没有后悔药可以吃
2).版本备份:费空间,费时间
3).版本混乱:因版本备份过多造成混乱,难以找回正确的想要版本
4).代码冲突:多人操作听一个文件(团队开发过程中常见的问题)
5).权限控制:无法对源代码进行精确的权限控制
6).追究责任:出现了严重的BUG,无法得知是谁干的
我们小组通过课程学习了解街道源代码管理工具在软件开发中的重要地位,通过比较主流的源代码管理工具(GitHub,,TFS,VSS等)最终选择了GitHub作为我们小组项目源代码开发管理的工具,原因如下:
1.Github是什么?
github是通过Git进行版本控制的软件源代码托管服务平台,于2008年4月10日正式上线。
github除了Git代码仓库托管及基本的Web管理界面以外,它还提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括允许用户追踪其他用户、组织、软件库的动态,对软件代码的改动和bug提出评论等。(百度百科)
2.Git是什么?
你出了一版方案A,在大家讨论后,你改到B,结果再讨论,大家觉得还是不如用A,这时发现A没有另存,还得再改回去!在GitHub中就不用担心,它会记录你提交的每个版本,并把这些都放在一个仓库(Repository)里,而每一次提交改变就是 Commit,你可以随时回退到任意一个版本。
此外你还很可能遇到方案衍生的情况,在方案A的基础上,改出了一种方案B,又改出了一种方案C,可能还分别衍生出B1、B2及C1、C2,在GitHub里有分支(Branches)可以记录这种方案的分化过程。
后来你觉得B1和C2方案中都有可取的地方,把它们融合一下就可以输出终稿了,Git里当然也支持这种分支合并(Merged)。
多人协同,也就是Git真正厉害的地方
在稍大的团队中,可能需要几个设计师合作完成一个方案,怎么样统一进度呢,一种就是大家每天把文件拷在一起,这需要经常浪费时间去同步文件,显然很不方便。另一种是每个人电脑里都留一份,需要时就和云端服务器同步,Git就是采用这样的所谓分布式系统。好处是更安全,也更便捷。
那么问题也就来了,如果大家都改同一个东西,万一冲突了怎么办?不用担心,Git会帮你对比并告诉你哪里有冲突了,你可以逐个对冲突的地方做出抉择。此外,前面不是讲到可以衍生出分支(Branches)么,在大家各自推进方案的时候,分别把内容放在不同的分支里,就不会相互干扰了。
开源的项目是任何人都可见,你可以Fork一个项目,这相当于在你的账号下从原项目新建了一个分支,你可以在此基础上改动,如果有希望提交给原作者的成果,可以发合并申请到原库(Pull Request),原作者可以看到通知并决定是否合并。通过这种方式,大家就可以合力将某个开源项目变得更好。
git是一个版本控制工具,github是一个用git做版本控制的项目托管平台。”这有点类似于Wordpress和Wordpress.com的关系,前者是一个任何有都可以用的免费博客系统,后者是一个平台,在这个平(台上你可以通过注册来直接使用Wordpress写博客。
3.Github的优势特点是?
代码由社区审核提高代码容错性
你的项目是一个骨架。当您在GitHub上发布项目时,更广泛的程序员和业余爱好者社区可以下载和评估您的工作。他们可以就冲突或不可预见等可能出现的问题进行提醒。
GitHub是一个存储库,可以方便查看优秀的代码切实提高编程能力
因为GitHub是一个存储库,它允许您的工作在公众面前脱颖而出。此外,它是周围最大的编码社区之一,因此使用它可以为您的项目和您提供广泛的曝光。您需要审核项目的人越多,可能吸引的关注和使用就越多。
跨版本协作和跟踪代码中的更改
与使用Microsoft Word或Google Drive时一样,您可以拥有代码的版本历史记录,以便每次迭代都不会丢失。GitHub还跟踪更改日志中的更改,因此您可以确切地知道每次更改的内容。此功能对于回顾过去并快速识别协作者所做的更改特别有用。
使用多个集成选项
GitHub可以与亚马逊和谷歌云等通用平台集成,以及Code Climate等服务来跟踪您的反馈,并且可以突出200多种不同编程语言的语法。
遵循开源趋势
许多公司和组织,无论大小,都在转向开源解决方案。EnterpriseDB提供了一个开源数据库Postgres,并在其网站上声明开源技术可以在技术等不断变化的环境中提供更大的灵活性。它引用国防部和消费者金融保护局作为美国大型机构,这些机构已经转向开源,以便快速响应技术变革。
开源项目往往更灵活,因为它们对市场需求的响应更快。封闭源程序可能存在于泡沫中,同时试图说服目标市场的价值而不是真正的反应。GitHub提供了一个社区,程序员不断努力解决当前的问题并向公众提供解决方案。
为组织/企业寻找人才
由于GitHub社区的广度,您有时可以找到从事类似项目或具有适合您组织的技能,经验或愿景的程序员。通过成为社区的一员,您可以识别这些人,与他们一起工作。
协助制定和实施管理战略
您可能有多个人同时处理项目,其中许多人可能位于不同的位置,甚至可能位于不同的国家/地区。通过GitHub协作项目的能力,您可以为不同的协作者建立一个系统,让他们一起工作,而“不必踩到彼此脚趾 ”。
4.GitHub具体使用介绍(结合软件开发介绍)
一.首先小组成员分别注册了GitHub账号并登录
二、Fork仓库
建立一个库 Designers-Learn-Git,可以看到创建者名写在/前面。然后点击右上角的Fork按钮。
三、修改文件
可以看到仓库里只有两个文件“README.md”(项目说明)和“花名册.txt",可以直接在线修改,也可以先克隆到本机再修改,对于比较复杂的项目要采取后者
在线修改:直接在页面上点”花名册.txt“的名字,进入如下详情页,再点击”Edit“
这里设计的任务内容是在花名册上写ID和Tiitle,
在编辑页面编辑完后,滚动到页面底部,点击绿色的“Commit Changes”按钮确认提交。
本地修改:另一种办法是把项目克隆到本地后再修改,打开客户端(这里以Mac最新版为例),点击右上角的“+”号,切换到“Clone”,找到“仓库文件名后点击右下的“Clone Repository”按钮。
然后从本地找到克隆的文件夹,打开“花名册.txt”,编辑并保存。这时再切换到GitHub应用的窗口,你会发现它在“Changes”页已经检测到并列出了你的改变,然后点击Commit & Sync按钮,将修改提交并同步到GitHub。注意,提交和同步是两个动作,需要先将下图那个绿色的按钮激活,这两个动作才会同时执行,否则你就需要在提交后再点整个界面右上角的Sync
四、申请合并
在确认已经对自己Fork了的仓库修改成功后,你可以将提交合并申请,申请将你的版本合并入最初的项目。步骤如下:
在网页上打开你Fork的仓库的页面,点击绿色按钮再点击“Create pull request”按钮,提交申请,完成后仓库创建者会收到通知,并将你补充的内容合并入原库。
原文:https://www.cnblogs.com/Demon-cat/p/12979797.html