代码改变世界

Git和GitHub

2017-09-23 22:47  往事随风12345  阅读(218)  评论(0编辑  收藏  举报

git和github

        Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。 gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
        从一般开发者的角度来看,git主要有以下功能:
            1、在自己的机器上根据不同的开发目的,创建分支,修改代码。
            2、在单机上自己创建的分支上提交代码。
            3、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
            4、生成补丁(patch),把补丁发送给主开发者。
        从主开发者的角度(假设主开发者不用开发代码)看,git主要有以下功能:
            1、查看邮件或者通过其它方式查看一般开发者的提交状态。
            2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
            3、向公共服务器提交结果,然后通知所有开发人员。
         因此我们可以总结出git具有:适合分布式开发,强调个体;速度快、灵活;任意两个开发者之间可以很容易的解决冲突等主要优点。同时也有着资料少(起码中文资料很少);学习周期相对而言比较长;不符合常规思维;代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息的缺点。所有作为软件技术人员建立git账户并保存资料是很有必要的。

            我的github地址:https://github.com/wangshisuifeng123/git