GitHub关键概念

魔法师LQ

Git & GitHub

Git是一个版本控制软件:

读作[gɪt],拼音读作gē yì te

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

GitHub是一个网站:

读作[gɪt hʌb],拼音读作gē yì te hà bo

GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.

通常自己一个人开发时使用Git有助于对代码版本进行控制,返回到之前任意时间点,能够合并多个分支流,解决或查看冲突。假如有协作开发作用更大。

而使用GitHub不仅能够用来存储Git库,其还会提供以下操作:

  • 文档需求:使用提出问题(issues),可以提出新的功能需求,记录缺陷,从而让团队进行开发
  • 独立分支流记录:使用分支(branches)和拉请求(pull requests),可以在不同的分支或功能下进行合作。
  • 评估工作进展:通过查看拉请求(pull requests)列表,可以查看目前工作状态下的所有不同功能,通过单击列出的任何一个拉请求命令,可以看到最新变化以及所有关于该动的讨论。
  • 看到团队的进展:通过使用Insights,可以看到团队的工作进展和脉冲(pulse)。

关键概念/术语

由于目前GitHub还是英文的,所以刚开始学习时不是很明白其中的某些概念,可能会觉得有点不明所以,经过一段时间的摸索,特整理如下:

repository(仓库)

单数,a repository;复数,repositories。概念:

a place, building, or receptacle where things are or may be stored.

相当于一个项目(Project)文件夹,仓库名也就是项目文件夹名称,可以在里面存放代码,各种和项目有关的文档等。

1537585381087

watch(关注)

长期关注某个项目的进展,设置在某些情况下发送提醒(到邮箱)。

star(收藏)

觉得某个项目不错,收藏一下,给个小星星,方便以后查看,同时也是对项目开发者的赞赏。

fork(分叉)

有时候我没有直接改变某个项目的许可,或者我想参与一个你不知道的人或者团队的开源项目,就可以克隆,修改,并使用拉请求的方式将其提交到最初的项目中。

issue(提出问题)

用来讨论功能/需求,跟踪缺陷,或者两者兼备。比如我发现某个项目在PC上没问题,但移植到手机上就出现了位置的错误,就可以开一个issue来记录错误的过程。

pull request(拉请求)

原先拉请求是用来请求别人复查自己已经完成的工作,并将它们合并到主分支上。现在,拉请求常用在一个流程的早期阶段,可以讨论可能的功能。

clone(克隆)

将项目库复制到本地。例如我下载一个项目的副本,在本地将其中的某个bug修复,然后再提交回GitHub。

wiki(维基文档记录)

当Readme比较长了,可以使用wiki进行文档记录,各个章节页面用简单的链接关系相联系。(通常我看好像没多少中国开发者选择使用wiki,有的readme相当长)。

commit(提交)

将一个或者多个文件的修改保存到Git历史记录中,都会创建一个新的提交。

branch(分支)

  • 主分支(master branch)
  • 功能分支(feature branch)

merge(合并)

将一个分支的全部工作合并到另一个分支,GitHub会在合并前检查是否有冲突并给出修改意见。

release(发布)

到了一定阶段,项目已经差不多了,就可以新建release,版本x.xx,来发布正式版供别人打包下载。

GitHub学习资源