GitHub入门:各种概念、图解页面信息(都是知识点啊小伙伴们)

一、Git是什么?

 Git是一个版本控制系统。 
 版本控制系统,是设计用于跟踪文件随时间变化的状态的一款软件。 
 Git是一个分布式的版本控制系统。 
 在Git中参与项目的每个程序员不仅能够拥有文件的当前状态,还能拥有项目完整的历史记录。

二、GitHub是什么?

 GitHub是一个网站,可以像该网站上传一个Git数据库副本。使用GitHub可以使你与他人合作一个项目变的更加容易。 
 GitHub提供了如下机制: 
  1. 共享库的位置 
  2. 分叉(forking:A复制一个B的项目到自己的账户下,修改后再提交,B能看到A修改的内容,但是B原本的项目是不会有变动的) 
  3. 拉取请求(pull request) 
  4. 提出问题(issue) 
  5. 维基百科搜索(WiKi) 
 这些功能使得团队开发能更有效地对所做的修改进行说明,讨论与评估。

三、为什么要使用Git?

 个人开发: 
  1. 可以回滚 
  2. 可以查看项目所有的修改记录,历史版本 
  3. 对改动原因进行记录 
  4. 老大再也不怕我xjbg出问题了,可以回滚 
  5. 不同的分支可以记录不同的状态 
 团队开发: 
  1. 多人合作对同一个项目进行更改时,git能够自动合并冲突的地方,如果自动合并失败,会提示冲突的位置,方便修改。 
  2. 历史记录的独立分支,多人合作时,可以每个人做自己负责的模块,最后合并一下就可以了。

四、为什么要使用GitHub?

 1. GitHub可以用来存储Git仓库,而且还有一些实用的功能。 
 2. 文档需求:提出问题(issues)可以记录缺陷或指定新的功能,然后团队再一起开发(就是产品经理提需求了,整个在一个Group的人都能看到)。 
 3. 分支:(分支branches)和拉请求(pull requests),可以在不同的分支下进行合作。 
 4. 可以在拉取请求的历史中,观察到是谁改动了项目,对改动的变化提出评论或意见。 
 5. 可以通过pulse,看到团队的工作进展。

五、关键概念(主要有助于装x)

  1. 提交(commit):提交更改到仓库(本地Git仓库与GitHub仓库是两码事)。 
  2. 提交信息(commit message):每次提交的时候,需要提供一个信息,描述这次提交都做了什么。 
  3. 分支(branch):像树状图一样,每个独立的分支都是项目的一个版本,分支都可以与master合并。 
  4. 主分支(master branch):所有的Git项目在最初创建时,都会默认创建出一个分支,这就是主分支。在开发中,写一个新功能的时候,都是先建立一个分支,在该分支上完成功能并测试,通过后由项目leader将该分支merge到master上。 
  5. 功能分支(feature branch):没怎么用过 
  6. 发布分支(release branch):如果有一个手动QA(质量管理)流程,或者必须要支持旧版本的软件时,需要一个发布分支来存放必要的补丁与更新记录。功能分支和发布分支没技术区别,只是在团队间讨论的时候,有助于区分类别。 
  7. 合并(merge):merge可以将一个分支上的全部内容归并到另一个分支上,一般就是将分支merge到主分支。 
  8. 标签(tag):常用于记录发布版本,在版本发布的时候,给一个tag,这样就能够记录该版本的代码是何时生成的。 
  9. 查看(check out):一般就是查看某一个分支上操作的记录。 
  10. 拉取(pull request):一般用来从远程仓库拉取分支中的代码到本地,也可以从本地仓库中拉取分支代码到当前工程中。 
  11. 提出问题(issue):GitHub的提出问题的功能,一般遇到问题,可以将出现问题的场合,通过issue的方式记录。 
  12. 维基(WIKI):一个轻量级的Web页面创建方式,创建的Web页面之间可以通过链接互相练习。GitHub中的项目通常使用WIKi进行文档记录。 
  13. 克隆(clone):从GitHub上下载一个副本到本地,操作后可以pull上去。 
  14. 分叉(fork):A复制一个B的项目到自己的账户下,修改后再提交,B能看到A修改的内容,但是B原本的项目是不会有变动的。

六、项目主页大体介绍

主页

七、查看README.md文件

 一般在项目的根目录中,会有一个叫README.md的文件,一般在项目目录下方第一栏目就是了。 
 该文件介绍了如何使用当前项目,很简单很esay很容易理解~

README.md文件

八、查看提交历史

 点击已提交次数的那个commits,可以查看提交的历史信息。

提交的历史信息

 关于SHA值:在Git中,根据commit的sha1值40个十六进制数字进行了简单的划分目录,以前2位数字作为目录名,其下面是剩余38位数字组成的一个文件名。 
 每个commit id的信息(如6c3a1607b06cf129c017aa28e6aa3baee1a66745)就是一个SHA值,如果想查看自己分支中的coomit id执行git log即可。也可以根据两个commit id,对比两次提交的修改情况。 
 查看档次提交的信息。

当次提交的信息

九、查看拉取请求

 可以看到当前正在进行的工作,bug修复或者是添加新功能。

pull request

十、查看问题

 查看当前项目中存在的问题,一般就是用OKHttp用不明白了,或者项目出错了,咱们这帮菜鸡就可以在这里像大神们问一问。

问题

十一、查看pulse(项目的最近情况)

查看pulse

十二、查看各种图表

Contributors(贡献者图表)

就是谁干活了,一个大表显示所有干活的人。 
之后的小图,显示每一个干活的人都干了多少,在什么时间段干的,按照干活多少排列。 
默认情况下该表显示的是项目整个周期内的数据,如果想按时间段查看的话,可以直接在大表中点击想查看的时间点,然后拖动一下,选中一个时间范围,下面的表就会随之匹配数据。

贡献者图表

Commits(提交图表)

 提交图表

Code frequency(码频表)

 码频表中显示了在某个时间段内,该项目中代码添加和删除的行数,一般用这个表来观察该项目是否有大变化。

Punch card(打卡表)

 故名思议,就是干活了就打个卡,根据每天提交的数量多少显示大圈小圈

Network(网络图)

 显示了分支数量以及整个项目历史分支上的提交数量,还显示贡献者创建的分叉数量。 
 注意分支指的是branch,分叉值的是fork

Member(成员列表)

 成员列表仅显示已对存储库分叉的人以及分叉的分叉。这些人不是原来父库的合作者,隐藏需要存储库的本地副本以便于通过拉取请求对其作出贡献。

Dependents(依赖)

 这个没看到哪个项目有数据,猜测是依赖了当前项目的工程会显示在这里,但是暂未发现有数据的项目。

猜你喜欢

转载自blog.csdn.net/u012888052/article/details/80381364