GitHub 通俗入门指南

GitHub 是一个通过 Git 进行版本控制的软件源代码托管服务网站。GitHub 提供付费账户和免费账户,这两种账户都可以创建公开的代码仓库,但是只有付费账户才能创建私有的代码仓库,也就是说,如果你不想公开你的代码就必须要付费。

既然 GitHub 是通过 Git 进行版本控制的,所以在使用 GitHub 之前必须要学会使用 Git。

Git

Git 是由 Linux 之父 Linus Torvalds 开发的分布式版本控制软件,免费且开源。

本文不涉及具体的工作原理和高级用法,只说一些简单基础的用法。

安装 Git

安装 Git 其实很简单,通过 Git 下载页面 下载安装即可,Windows 和 macOS 直接下载安装即可使用,Linux 也会有各发行版的相应的安装的方法,具体内容到下载页面查看。

安装完成后就可以通过命令行工具使用了,比如 Windows 下的 cmd 等。现在在命令行工具下输入下面的命令,会显示出当前 Git 版本:

1
git --version

如果没有显示或报错,说明安装失败。

Windows 下安装后,开始菜单内会有一个名为 Git Bash 的程序,这是一个比较好用的命令行工具,本文就以此工具为例。

配置 Git

安装完成以后首先要先进行简单的配置,也就是配置你的用户名和 Email 地址,用户名和邮箱要和注册 GitHub 的相一致。

配置命令如下:

1
2
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

常用命令

通过 Git 管理你的项目,每一个项目都是一个代码仓库。比如我有一个项目位于 git_demo 文件夹内,现在需要用 Git 来管理这个项目,首先在命令行工具下进入该文件夹,然后通过下面的命令进行初始化:

1
git init

初始化完成后,在 git_demo 文件夹内会生成一个名为 .git 的文件夹,里面是关于该仓库的一些信息,不要自己手动去修改它。当然,这个文件夹是默认隐藏的。

初始化的时候,git_demo 这个项目文件夹可以是空的,也可以是有文件的。

初始化完成后要将你的项目代码添加到 Git 仓库里面,比如 git_demo 文件夹下有个名为 index.html 文件,我要把他添加到 Git 仓库里面:

1
git add index.html

如果项目文件夹下有多个文件和文件夹,想要一次性添加到 Git 仓库,可以使用通配符 *

1
git add *

这个时候文件夹下所有的文件都添加到了 Git 仓库。

好了,添加了文件,你需要告诉 Git 这个项目进行了哪些修改,通过下面的命令进行提交:

1
git commit -m "first commit"

等项目慢慢变大,文件越来越多,你记不清添加了哪些文件、修改了哪些文件,又或者是哪些修改还没有提交,可以通过下面的命令查看当前仓库的状态:

1
git status

这行命令可以查告诉你当前仓库的状态。

现在修改项目里面的代码,比如我修改了 index.html 文件,然后过了一段时间忘了我修改的什么了,可以通过下面的命令查看:

1
git diff

这行命令会告诉你哪个文件的哪个一行进行了什么修改,是不是很神奇!

修改了的文件都要进行提交,注意提交时 commit 的内容要写的有意义,让别人看了知道你修改了什么,比如我在 index.html 里面添加了页面的 header 部分,就可以这样:

1
2
git add index.html
git commit -m "添加header部分"

commit 的内容支持不只支持英文哦,写中文也是没问题的。修改一下文件还要输两行命令是不是有点麻烦呢,当然可以用下面这个命令:

1
git commit -am "添加header部分"

这个命令会添加项目内所有修改过的文件,然后提交 commit。

GitHub

项目做完了,要上传到 GitHub 了。GitHub 的注册就不说了,按照提示一步一步来就行了。

添加远程库

首先要在 GitHub 新建一个 repo,登陆后点击右上角的加号图标,点击“New repository”,填写 Repository name 和描述(可不填),然后点击“Create repository”按钮就可以了,现在会显示如下界面:

这里是一些简单的命令,先不管他,现在我们要把刚才那个 git_demo 项目传到这儿来,还是在刚才的命令行界面,添加远程仓库的地址:

1
git remote add origin https://github.com/pengtikui/git_demo.git

这行命令在上图里有,直接复制过来就行了,这行命令是告诉 Git 这个项目的远程地址是多少,然后再复制下面哪一行代码将项目推送到 GitHub 上来:

1
git push -u origin master

在 push 的时候会提示你输入 GitHub 的账号和密码,下面具体讲

以后再更新代码就是重复进行 git addgit commit 了,修改完代码要再推送一次,不需要每次 commit 以后都推送一次,以后每次推送也不需要那么长的命令了,直接用下面这行就行了:

1
git push

当然,Git 可不止有这些功能,还有分支管理、标签管理、版本合并、多人协作等功能,等熟悉了这些基础的再去了解吧,更多详细内容推荐廖雪峰的 Git 教程

SSH Key

在上面 push 的时候会提示输入账号密码,以后每次 push 也都是如此,是不是很麻烦呢?我们可以用 SSH Key 解决。

简单的说就是生成一个公钥和一个私钥,公钥放在 GitHub 上,私钥放在你本地,每次需要身份验证的时候将私钥和公钥进行对比即可,所以私钥不要随意泄露给别人。

首先要创建 SSH Key,在命令行输入一下命令即可:

1
ssh-keygen -t rsa -C "你的邮箱地址"

生成时,所有的提示按照默认并按回车即可,生成后在用户主目录下会有一个名为 .ssh 的文件夹。

Windows 系统依次打开 C 盘(系统盘)、“用户”文件夹、当前用户名文件夹,比如我的系统用户名文 pengt,这个目录就是 C:\Users\pengt\

现在这个文件夹下会有一个名为 .ssh 的文件夹,打开这个文件夹,里面有 id_rsaid_rsa.pub 两个文件,前者为私钥,后者为公钥。

打开 GitHub 的设置页面,找到 SSH and GPG keys 选项,然后点击“New SSH Key”添加 SSH Key,Title 随意填或者为空,Key 为公钥的内容,使用文件编辑器打开 id_rsa.pub,然后复制里面的所有内容粘贴到这儿就行了。

其他

GitHub 可不是只能托管代码,你可以在这关注一些大神、为别人的项目贡献代码、多人协作开发、给别人的项目提 Issues、创建一个组织等,也可以在上面写博客,只要脑洞够大,什么都能做!

Trending: https://github.com/trending

在 GitHub Trending 可以看到当前 GitHub 上最火热的开源项目和开发者,可以按照语言分类浏览,也可以选择时间区间(今日、本周、本月)。

GitHub Gist

Gist: https://gist.github.com/

Gist 可以理解为保存代码片段的地方,这里可以保存一个文件、一段代码或者一篇文档,也可以在不登录 GitHub 的情况下使用。可以将自己常用的一些代码片段片段保存在这里。

GitHub Developer

Developer: https://developer.github.com/

GitHub 的开发者中心,GitHub 提供了很多文档给开发者,也开放了很多 API,你可以通过这些文档和 API 开发一些工具或者自己喜欢的程序,也可以把 GitHub 上的内容引入到自己的网站。