基本定义
GitHub是一个面向开源及私有软件项目的托管平台,他只支持Git作为唯一的版本库格式进行托管。
主要功能
GitHub的基本定位是为程序猿们提供一个代码存放和管理的平台。在实际使用中,最常见的功能包括2个:
(1)个人项目开发使用,通常使用者是做毕业设计的学生。
(2)团队项目开发使用,通常使用者是需要团队合作的项目中的开发人员。
相关名词解释
专业词汇
和GitHub相关的专业词汇有很多,此处仅给出3个最重要的名词:
(1)repository: 仓库。它是用来存放项目代码,每一项目对应一个仓库,多个仓库则会有多个仓库。
(2)fork:复制/克隆。别人仓库的代码可以克隆到自己的账号下。自己在仓库中的新更改不会影响原作者的仓库内容。
(3)issue:事件。发现别人的仓库代码出现Bug或有疑问时,可以通过Issue来和代码的作者进行咨询和讨论。作者可以收到别人的提问,然后可以回复。回复完成可以关闭当前的Issue。
repository、fork和issue的关系示意图如下图所示。假设我们当前管理GitHub1。在GitHub2的账户上看到了一个比较优质的仓库,可以使用fork将其克隆到自己的账户中来;如果针对GitHub2仓库中的内容有疑问或建议,可以发起issue,和GitHub2进行沟通。
本地、git和GitHub
建立本地文件和GitHub仓库中文件的有效链接,是最常见的操作。这其中,使用Git。Git可以理解为一种管理工具,通过commit、push和pull等命令,连接本地文件和仓库文件。
(1)commit:为了降低本地和远程的文件传输频率,Git会在本地额外生成一个暂存区,用来存储新修改的本地文件,可以理解为草稿箱。我们完成了一段代码后,可以直接使用commit命令,将新增加或新修改的代码保存到暂存区。类似Word的自动保存,但是Git中需要使用手动命令添加。
(2)push:通常当我们觉得暂存区中代码的功能已经比较完善了,我们才将其中的代码通过push命令上传到远程的GitHub仓库,实现本地文件至GitHub仓库的更新。
(3)pull:如果我们想从远程的GitHub仓库将代码直接拷贝下来,可以使用pull命令,一件下拉所有的代码。