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



原创文章,转载请注明出处:http://blog.csdn.net/android_zyf/article/details/64175941

Mac版GitHub下载地址(需要梯子):https://mac.github.com/


一、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原本的项目是不会有变动的。

六、项目主页大体介绍

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

七、查看README.md文件

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

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

八、查看提交历史

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

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

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

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

九、查看拉取请求

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

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

十、查看问题

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

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

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

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

十二、查看各种图表

Contributors(贡献者图表)

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

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

Commits(提交图表)

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

Code frequency(码频表)

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

Punch card(打卡表)

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

Network(网络图)

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

Member(成员列表)

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

Dependents(依赖)

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

你可能感兴趣的:(杂七杂八)