源代码管理工具的介绍

一、前言

    这次,我们将对源代码管理工具Github作一些介绍。

 

二、Github的介绍

    GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。目前,其注册用户已经超过9400万,托管版本数量也很多,其中不乏知名开源项目python、jQuery、Ruby on Rails等。

    GitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了代码片段分享(Gist)、协作图谱(报表)、在线文件编辑器、文本渲染、订阅、讨论组等功能。开发者可以将代码在 GitHub 上开源,可以浏览其它项目的代码,fork 到自己名下做修改,clone 回本地(没有访问权限的 private repo 除外)使用,也可以发起 pull request 向上游提交自己的修改。

    GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForge、Google Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

    具体功能有:

        1.托管代码、历史版本管理

                   当然不仅仅是代码,任何文件都支持(不少人用GitHub来写博客)。它在必要的时候,能够帮助你快速回退到之前的历史版本,因为它会自动帮你记录代码的修改。

        2.搜索开源项目

                    GitHub是世界顶级开发者的聚集地,在这里你几乎可以找到任何你想要的东西。上面分享有许多优秀、著名的开源项目,在遵守其License的前提下,你可以免费使用、下载这些开源项目。这也是GitHub最为吸引人的地方。

 

         3.分享的同时会得到社区的回馈

                    GitHub可以说是共产主义的最佳实践之一。你分享出来的项目,其他开发者也可以参与贡献,帮助你一同提升代码质量,修复Bug,对项目功能进行完善,协同开发是其一大优势。

         4.你可以通过Github Pages免费搭建一个博客网站

       GitHub Pages提供静态网页托管服务,它将JavaScript、CSS和HTML文件直接从Github上的仓库获得,然后构建并发布网站。 您可以在 GitHub Pages 示例集合中查看 GitHub Pages 站点的示例。
                    GitHub 支持自定义域名,也提供免费的github.io子域。

         5.学习,能力提升

                    GitHub上有很多优秀教程资源和开源项目值得你去发现、学习。

         6.提升自己的影响力

                    你可以将自己的开源项目发布到GitHub网站上,项目越受欢迎获得的Star越高,说明业界对你的能力越认可。一份优秀的GitHub主页,能为自己的简历润色不少。

 

     GitHub和Git的关系与区别

                很多初学者分不清GitHub和Git的关系,误认为Git等同于GitHub,其实它俩完全是两码事,不能相提并论。要说有关系那就是,「魔兽争霸」与「对战平台」的关系。

                简单来说,Git只是一个命令行工具,一个分布式版本控制系统。正是它在背后管理和跟踪你的代码历史版本,好比一个时光机,让你在代码出错时不至于手忙脚乱,能快速回退之前的历史版本。 类似的工具还有SVN。

                而GitHub是一个代码托管网站,背后使用Git作为版本管理工具(而非svn)。主要服务是将你的项目代码托管到云服务器上,而非存储在自己本地硬盘上。

    

 

三、使用示例

    第一步:创建自己的账号

                    1.打开Github网站地址:https://github.com

 

                   2. 点击Sign up注册Github账号

                  3.进入Github的主页面

 第二步:创建一个新仓库

  1.在页面最右上角的自己的头像左边,点击“+”,在弹出的下拉选项中选择“New repository"。

  2.在仓库名称输入框中输入自己的仓库名称:”Hello_world"。并可以根据自己的情况写一下对自己这个仓库的描述。

  3.勾选"Add a README file"。

  4.创建好之后,这个仓库中会有一个默认的main分支,我们在这个分支的README.md中写一下对这个分支的描述

  5.这里可以点击右上角的Add file,再点击upload file上传文件,这里上传了一个编写好的会打印一行"Hello World!"的文件。

 

 

 

 6.我们点击这个HelloWorld.cpp,会看到它的代码

 7.回到上方的Code页面,在右边我们能看到Github对代码中的语言类型占比的统计

 

 

 

第三步:在这个仓库中创建一个子分支

 1.进入这个“Hello_world"仓库

 2.点击文件列表上方的写着”main"的下拉框

 3.在输入框中输入新的分支名字"edit 1"

 4.点击下方蓝色背景的分支创建框或直接按键盘的“Enter"

 

    其实分支就是一个能让我们在同一时间对同一仓库的不同版本进行工作的办法。

    我们可以看到在仓库中有一个默认的名叫“main”的主分支,该分支用来储存我们最终确定的版本代码。我们可以编辑和更改其他的子分支,确定之后再提交到主分支。我们将一个子分支从主分支创建出来的时候,其实就是对这个时间点的主分支做了一个拷贝。在Github上,设计人员,编辑人员以及开发人员,他们分别在独立的分支上完成自己编写功能或修改bug的工作。当一个功能编写确定之后,他们就将自己的分支合并到主分支上。

    当创建好了edit1后,我们可以看到,一个含有和main里面一样的文件的edit1出现。

 

 

第四步:修改子分支,并提交它

1.我们点击“README.md”文件,切换到“README.md”内容页面

2.点击编辑右上角的铅笔按钮,进入编辑页面

3.在编辑框中,写一些我们自己的信息,完成对edit1分支中README.md的修改。

4.在下方的“提交更改”框中,输入我们做出此次修改的备注和说明

5.点击下方的“Commit changes"按钮

 

 

 

 

 

 下面,将在edit1里添加一个Hello_World_2的cpp文件。

 

 

第五步:完成对子分支的修改后,提交

     由于我们已对新的分支”edit1"做出了一些修改,因此我们能发出“请求代码合并”的请求了。

    请求代码合并这个功能是Github团队协作的核心功能。当你发出一个“请求代码合并”请求时,相当于你请求别人拷贝你当前的代码做出审查,审查通过之后将你的代码下载并合并到他们的分支上。这个请求会在所有分支上显示出不相同的部分。你做出的任何更改、增加以及减少,都会用绿色和红色显示出来。

    在你的代码完成之前,你可以随时进行代码提交,发起请求代码合并的请求以及进行一场讨论。你也可以向自己的仓库发出“请求代码合并”的请求,并且自己去合并他们。这在你接触到大型项目之前是一个非常好的练习方法。

1、点击“Pull Request"选项卡按钮,切换到请求代码合并页面,点击绿色的”New pull request"按钮

2、在左上角,在compare那个选项,选择创建的"edit 1"分支,与主分支进行比较

3、在对比页面查看这些更改,确定他们就是你想要提交的

4、当你确定这些更改就是你所要的时候,点击绿色的“Create Pull Request"按钮

5、为你的更改做一个简单的描述和标题

 

 

 

 

 

 

 第六步:请求代码合并

 

 1.点击绿色的“Merge pull request"按钮,将这些修改合并到主分支

2.点击"Confirm merge"按钮

 

 

 

 我们可以看到,此时main里的内容已经被做了相应的修改。

 

以上我们就实现了一些Github的基本的操作。

另外,想要删除分支,我们可以点击图中的2 branches字样

 在右边点击垃圾桶按钮,即可实现删除分支。

 

 

四、本次总结

    通过这次的学习我了解了一些Github的基本操作,了解了它适用于团队协作的特点。对一个程序员来说能使用Github是非常重要的。它是一款很好用的源代码管理工具,可以创建库来云保存用户的代码,节省空间。它有着许多的优点,拥有着众多的用户,和成千上万的成型的开源项目供大家学习,有着巨大且日趋完备的开发生态。除此之外,Github还能创建团队,拉人进入团队,创建团队存储库,从而让团队写代码的效率提高。不过它也因是外网导致直接访问会出现加载缓慢甚至网页丢失等情况,但这完全不影响它成为一个优秀的源代码项目管理平台。

 

posted @ 2023-05-23 21:49  nwcaiuehch  阅读(48)  评论(0)    收藏  举报