【Github】github是什么?github入门

Github解释:gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

注:本文章仅帮助读者入门github

正文:
掌握github的使用的关键在于理解它的一些关键概念,理解了之后其他都不是问题,下面一一介绍;
1、仓库 repository
 说明:一个仓库一般用于存放一个项目,可以包含文件和各种格式的文件。一般也会有一个项目README文件(自述文件,用来保存你想描述的关于这个仓库的信息,可选),创建仓库时可以选择是否公开!
2、分支 branch
 说明:分支是一次性处理不同版本仓库的一种方式。默认一个仓库有一个主分支;我们使用多个分支来测试和编辑,然后提交给主分支。
 当我们创建子分支时,你只是给主分支做了一个快照,或者说你生成了主分支的一个即时副本而已。当你处理分支时,如果有其他人正在修改主分支,你可以保存这些修改。图解:
这里写图片描述
解释:
   1、有一个主分支
   2、创建了一个子分支叫做 ‘feature’  
   3、有一个修改子分支内容的“阶段”,修改完后,再合并到主分支上去

3、有时我们会遇到保存一个文件的不同版本,如下:
  —–服务器配置(初始).txt
  —–服务器配置(2017-10-2).txt
  —–服务器配置(2017-10-20).txt
 是的,github的主要作用是对象的版本控制与管理,所谓的版本其实就是指的这个概念。对象就是你想在github上保存的文件!

4、创建子分支
这里写图片描述
 1、进入你创建好的仓库
 2、选择做左上角处 “branch:master”,下拉输入子分支名称,点击创建分支即可
 3、现在你有2个分支了,主分支和一个子分支,看起来他们的内容是一样的,但很快就不同了;你将要做一些修改在子分支上

5、修改和提交
 说明:在github上,”保存修改的内容“这个操作被称为 ‘commit’(提交),每一次‘commit’都有对应的“提交备注”,这个“备注”就像我们平常理解的那样,是为了说明为什么要提交这次修改。
 如果你的仓库是公开的,其他人就可以看见你的每一次提交修改的内容和修改的理由(如果你做了备注的话)。
 修改自述文件的操作:
   1、点击README.md文件
这里写图片描述
 2、点击右上角的铅笔图标来修改文件
这里写图片描述
 3、添加一些内容在输入框内,然后在最下面提交
这里写图片描述
注意:在按钮的上方有两个选项,第一个是直接提交到主分支,第二个是提交到一个新的子分支里面,提交到主分支代表直接修改主分支的内容!

6、发起一个更新请求(open a pull Request)
 说明:现在你的子分支相对主分支已经有了一些改变,你可以把子分支修改的内容添加到主分支上,也就是使你的修改在主分支上生效!如果你是路人(非主分支拥有者),你能够做的是发起一个更新请求(github上称作open a pull Request,直译过来是不便于理解的);
 在发起更新请求的过程中,这个pull requests会自动检查你当前的子分支和你想要合成到的主分支(也可以是其他子分支)中的不同之处(增删改的地方)并展示给你看到;
 发起的时候,你可以向要提交分支的拥有者开启一个对话,直到你发起的更新请求生效或被拒绝。
 这里有一段过程:
 提交更新请求–>与(主)分支拥有者进行沟通–>(主)分支拥有者同意你的更新请求—>更新请求在(主)分支上生效
 即如下面的图
这里写图片描述
上图中有两个文字框可以编辑,第一个小框是写本次发起的主题,第二个大框写本次发起的备注,还可以添加表情。
发起后应该会来到下图页面:
这里写图片描述

点击图中箭头处的pull requests,到下图页面:
这里写图片描述

箭头处显示的是所有更新请求(你发起的和别人发起的,针对于这个目的分支的)! 如果你是目的分支主人,比如你收到了别人发起的更新请求,如图中第二个箭头,你点进去就可以看到它的修改内容,然后决定是否把他的更新请求合成到你的分支上!一旦点击合成,从整个github概念上来讲,就表示:你生成了你的一个分支(或者是项目),是公开性质的,你欢迎别人对你的分支(项目)进行修改(bug修复、功能添加),然后就有人提交了更新请求,内容是修复你的(分支)项目中存在的一个bug,你很开心,并让他的修改在你的分支(项目)中生效!   所以,github从角色上来讲,称作为社区更符合它的身份,版本管理平台/代码托管平台只是它的基本功能,当然也是核心功能! 理解了github的作用和功能、定位,你很快就能上手!有时它也会成为HR的一个重要提问点,So,熟练使用它将使你以后的编程生涯之路更加平坦,也能增添更多精彩和乐趣!