我去年进阶 GitHub,一已经开始不知道从哪已经开始学,在网路上搜寻了很多该文、讲义自学。这首诗就是以我刚自学时的阿宝视点写的,希望能协助到想已经开始自学 GitHub 又不知如何入门的自学者。因为我也是最高级水平,该文介绍的科学知识如前所述我他们的自学认知,如果有差错严重错误之处,结语回帖尖萼;觉得责任编辑对您有协助的话,请点个赞支持我一下吧,非常感谢!
算数者阿宝可能会对 GitHub 有以下疑惑:
1.GitHub 是个甚么网站?
2.为甚么一说学 GitHub,就听见人家说Thoubal Git?这两个有甚么关连吗,呢一两件事?
3.听说 GitHub 是个开放源码街道社区,能在下面与他们一起互相切磋技术、健全标识符,具体是怎么与别人沟通交流呢?
下面,我从这几个方面进行答疑。
一、带你下载 GitHub 中文网站,看看都有些甚么?
1.注册登记帐号
关上 GitHub中文网站,主页如下表所示图右图,点选左上角Sign up按键,进入注册登记网页。使用邮件注册登记,增设好用户名和公钥,方可聚合帐号。完成注册登记后,点选旁的Sign in按键登入。
注册登记/登入网页2.登入 GitHub,下载网页
登入进来后,他们看见的网页分为三大新浪网,如下表所示图右图,从左至右依序为:他们的库房(Repositories)、关注的人的静态、辨认出捷伊炙手可热/有原意库房。
进占后主页实例可能的疑点:Repository? 库房?呢有点不好认知?
我在算数时也碰到这一疑惑。”repository”有”库房”的原意,他们能认知成放置项目所需的各种类型文档的库房。等熟识了之后,你会辨认出 GitHub 上各种库房都有,不是只包涵计算机程序,还有自学专业课程文档格式之类,庙台叫库房,呵呵。Repository(库房)在 GitHub 上有重要作用,他们以后的很多操作都是在 Repository(库房)中进行。
点选左上角的个人头像,在下拉列表中选择Your profile项,到达个人主页。下图右图为我的个人主页。
个人主页实例你如果关上另一个人的主页,看到的界面风格也大致如此。我在图中简要注明了网页中的各项功能,此外:
1. 点选账户名下方的Edit profile按键,能修改他们的个人信息,比如这里的一句话简介,公司、地址、联系方式等。而如果是别人的个人主页,这里他们看到的就是Follow(关注)按键。
2. 粉丝和关注的人数右边有个星星图标,这就是传说中的 Star。他们看技术该文可能常会碰到如“程序员必看!GitHub 上 Star 数过万的项目!”,“该项目在 GitHub 上迅速收获上千 Star 数” 类似的介绍,看来 Star 数是个很重要的标识哦!那么,Star 是甚么原意呢?比如,他们觉得一个库房不错,在左上角点个 Star,就相当于是收藏+点赞了,之后还能在他们的主页中点选星星图标查看。
库房网页-Star3. “Pinned”区域是他们的个人展示区,在他们的库房中精选几个放到这里展示,让别人能很快辨认出你的闪光点。
4. 活跃度表格:下面的绿色格子越多,颜色越深,说明该用户在 GitHub 上提交次数越多,是活跃用户。
二、GitHub 是 Git 软件用户的项目管理中心
1. Git
GitHub 之所以得此名,与一款分布式版本控制软件 Git 是分不开的。通俗地讲,Git 软件记录了你每次修改时的文档状态。更妙的是,如果你改着改着,又觉得以前的版本更好,还能回溯呢,也就是说,有“后悔药”可吃了!同时, Git 也是一款极佳的协作软件。打个简单的比方,我和小红、小蓝三个人一起修改一首诗,每个人改的地方可能都不一样,那么合并修改稿就是个头疼的事。或者,我先修改、再给小红修改、最后小蓝修改?这样效率又降低了。怎么办?用 Git,他们三个人能建立修改分支,同时进行修改工作,最后合并分支。你可能会问,如果你们三个人在同一个地方做了不同的修改,还能合并吗?放心吧,软件考虑了这种“冲突”情况,有相应的解决办法。
既然 Git 能协作,那总要有一个地方让使用的人们放置文档、修改等信息呀,就像控制中心一样,这样,GitHub 应运而生。这里多说一句,Git 的托管中心不是只有 GitHub 哦,GitHub 是方便个人用户、开放源码项目建立的中文网站。有的企业会他们搭建服务器和云盘构建托管中心,同样也是用 Git 软件进行协作管理。
那么,怎么用 Git 软件呢?
(1)先到 Git官网下载安装 Git 软件。
(2)安装成功后,选定一个文档夹,在右键菜单中选择Git Bash Here,会弹出一个黑色的命令行界面,输入语句,就能在当前文档夹中运行 Git 命令。
这里推荐自学一下廖雪峰老师的Git讲义,讲解得明白易懂,从中他们能了解 Git 的各种操作。然后,跟着讲义的讲解,他们建个新文档夹动手练练。
2.Git 基本命令
Git 命令还是挺多的,但是对算数者来说,他们能先掌握几个在 GitHub 上常用的 Git 基本命令:
(1)提交修改:git add和 git commit
git操作示意图,图片来自Git官网下面的示意图来自 Git 官网,说明了 Git 中最重要的操作 “git add” 和 “git commit” 的工作流程。 Git 软件的核心是保存修改。working directory 是工作区,就是他们的电脑上当前工作的文档夹。staging area 能认知成暂存区或者中转站,git add .(注意:这里 add 和.中间有个空格)提交了修改,放在 staging area 暂存,再通过 git commit -m”修改说明文字” 确定最终提交版。不要小看这个缓冲的暂存区,它为他们修改时提供了“后悔药”。这个效果就有点类似于他们平时在电脑上删除文档,文档不会直接删除,而是放到回收站中转一下。如果他们过后辨认出手抖误删了,还能到回收站里把文档“还原”回去,或者确定都不需要了,就点选“清空回收站”,把这些文档都删除。
(2)与远程库房同步:git pull 和 git push
在多人协作的情况下,比如前面提到的我和小红、小蓝一起写该文的例子,可能 则是将这一修改结果提交到远程(比如 GitHub上)的 repository(库房)保存。我始终记得廖雪峰老师讲义里提的要点:每天已经开始工作的第一件事是 git pull,跟上项目最捷伊修改进度。结束一天工作、提交修改时,先 git pull 再 git push。
(3)下载 repository(库房): git clone
关上一个库房,他们会看到Code按键,点选后,下面出现 HTTPS 地址和 SSH 地址。他们只要复制了这个地址,然后在电脑上右键点选放置文档夹,关上 Git Bash 客户端,输入命令行:git clone 复制的地址,就能下载这个库房到本地电脑。
下载库房示意图需要注意的是,用 HTTPS 地址需要账户验证。使用 SSH 地址只需要第一次时提交 SSH Key 到 GitHub ,后续无需每次验证,很方便,接下来就会介绍如何配置 SSH Key。
注:写这首诗时,我也出现了一个疑惑:不知道是否因为我已经用 SSH 验证了,我用git clone HTTPS 地址下载时,也没有要求输入账户名和公钥验证。小伙伴们请把你们实践的结果告诉我一下呀,非常感谢!
三、算数者必备的GitHub基本操作
1.配置SSH Key
(1)第一次使用时,要配置一下账户。
在 Git Bash 客户端,输入:
(2)检查是否已经有 SSH Key了,如果没有就聚合。
同样在 Git Bash 客户端,先后输入:
和
我的账户已经聚合了 SSH Key,就有了下面右图的 id_rsa 和 id_rsa.pub 。请注意,id_rsa.pub 是公钥,后面要把这个公钥上传到 GitHub 上验证。id_rsa 是你他们的私钥,要保存好。
如果没有 SSH Key,就要输入以下命令行聚合:
ssh-keygen -t rsa -C “这里输入你在 GitHub 的注册登记邮箱”
聚合后再输入下面的cd ~/.ssh和ls命令,就能看到 SSH Key 了。
(3)复制公钥。
接着在 Git Bash 客户端,输入命令行:
cat id_rsa.pub
这样会显示公钥文档内容,他们把它复制到剪贴板。
(4)把复制的公钥添加到 GitHub 账户安装。
登入 GitHub 账户,点选左上角个人头像的下拉菜单,如图右图:
个人头像的菜单项依序点选 Settings > SSH and GPG Keys,在 SSH Keys 网页左上角有个New SSH Key按键,点选该按键后,粘贴上刚才复制的公钥内容。里面的 “title”项就是为他们的 SSH Key 命个名,可根据个人喜好随意。
(5)最后,检查一下 SSH Key 是否安装成功。
在 Git Bash 客户端运行命令:
$ ssh -T [email protected]
出现类似下面的提示,表示安装成功:
2.我的第一个 GitHub 项目:如何新建上传库房
学了这么多基本功,他们终于要练手了,呵呵,先来建一个他们的库房玩玩吧!
(1)在 GitHub 中新建库房
如下表所示图右图,点选个人主页的 Repositories 项,再点选右方的New按键,新建一个库房。
库房网页-新建按键我这里做了一个简单的示范,如下表所示图右图,你能照着我的模板填,最后点选最下方的Create repository按键,方可创建一个捷伊库房。
新建库房填写网页关上新建的库房,如下表所示图右图,这个库房的 Readme 文档格式的内容就是刚才填入的库房名和描述说明。 他们点选Code按键,复制 SSH 地址。
库房网页-testexample2020(2)把库房文档下载到电脑。
假设他们要下载到电脑上的目标文档夹(为了描述方便,这里简称为文档夹 A),那么他们就右键点选文档夹 A ,在右键菜单中选择“Git Bash”,在 Git Bash 客户端输入命令行:
git clone SSH地址
这样,库房就会下载到文档夹 A 中。
(3)修改库房文档,使用 Git 命令提交修改并推送至 GitHub。
下载库房完成之后,他们会发现文档夹 A 中有了一个捷伊子文档夹,比如我在前一步骤下载了库房 testexample2020,此时文档夹 A 中就出现了一个名为”testexample2020″的新文档夹,这就是下载到本地电脑的库房。他们关上这个新文档夹(”testexample2020″),使用 VSCode 或 Atom 编辑器(编辑器的使用方法可参考我的该文:一首诗带你快速进阶Markdown),在 Readme 文件里增加一行: hello,world!。再新建一个 main.py文档,输入一行简单的标识符:print(“hello”)。
修改好了之后,他们右键点选文档夹 testexample2020(注意:此时不是在母文档夹 A 上使用 Git Bash 了),关上Git Bash 客户端,依序输入命令行:
git add .
git commit -m”v0.1″
git push
这样修改就推送到了 GitHub 上的库房中。
(4)登入 GitHub,查看一下库房的变化。
登入 GitHub 后他们辨认出,刚才做的改动都同步到了 GitHub 库房中,如下表所示图中标示:
库房网页-改动后3.和别人一起做项目:Fork 和 Pull request
前面提到过,GitHub 是个开放源码街道社区,他们能参加到开放源码项目之中,那么,具体是怎么操作呢?
举个我他们的例子来说明一下这个过程吧。
(1)Fork 一个别人的库房
我在自学 API 接口时,网路上的微博 API 工具包很多是如前所述 Python2 写的,我在 Github 找到了一个 Python3 的版本sinaweibopy3,如下表所示图右图。我用了一下,觉得很好,看到作者没有写 Readme,我就想添加一个 Readme 说明文档格式,让别人能更快地了解这个库房的功能和使用方法。也就是说,我想对这个库房做一些修改。这种情况下,我就要先 Fork 一下这个库房到我他们那儿。
sinaweibopy3库房网页为甚么要 Fork 呢?
Fork有“叉子”的原意,也就是从原库房复制建一个我他们的分支(分叉),这样,我做的改动只是在我他们的分支上,不会影响到原库房,除非我提交的 Pull request 被接受后。Fork 之后,在我的库房里就出现了一个相同的库房 sinaweibopy3,如下表所示图右图。不同之处在于,库房名下方有个备注:”Forked from olwolf/sinaweibopy3″。
Fork的库房(2)对他们 Fork 的库房做修改
接下来,我就对 Fork 的 sinaweibopy3 库房做修改,添加了一个 Readme 文档格式。具体方法请参考上一步 “2.我的第一个 GitHub 项目:如何新建上传库房” 的实例,能先git clone下载到本地文档夹,修改后再git push推送到 GitHub。
(3) 提交Pull request
如下表所示图右图,点击 Pull request,在弹出的界面填写一些信息,告诉原库房的作者你做了甚么修改、为甚么要修改等,方便作者了解你对库房的改动,然后提交,Pull request 请求就会发送至原库房的作者。
Pull request实例(4)等待原库房的作者查看和决定是否接受修改
提交了 Pull request 后,他们就等待一段时间,原库房的作者会决定是否接受修改。
这里,库房 sinaweibopy3 的原作者 olwolf 合并了我的修改,如图右图,这样原库房中也增加了 Readme 文档。同时,我也因此成为了库房贡献者(Contributors)之一。
接受Pull request后,原库房的变化四、总结
完成以上自学,他们基本上就进阶了,接下来,你能他们在 GitHub 上探索一下,比如搜索辨认出一些有原意的项目,关注一些高手大牛,加入到开放源码项目中,之类。最重要的是,动手练习!一旦入门实践,慢慢熟识之后,你会辨认出没有已经开始想象的那么难,一起加油吧!
最后,推荐几个好的自学讲义:
觉得这首诗不错的话,请点赞支持一下,非常感谢!
关注我
,多多沟通交流,一起自学提高吧!