Coding GitHub Hexo Markdown 搭建博客
大家好,这是我第一次写博客。使用 GitHub Hexo 创建最基本的博客很容易,网上有很多现成的教程。随着不断探索,我发现这个简单的博客可以实现更多的功能。但网上缺少比较全面的教程,我在尝试中走了不少弯路,所以我决定我的第一组博文内容就是介绍这个过程,帮助大家更方便的建立具有更多功能的博客。
搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法
在这一节中,我将教大家 Git 简单的使用方法以及如何创建 GitHub 和 Coding 账户,配置 SSH key。
Git 与 GitHub
搭建这个博客,我们需要用到 Git 。那 Git 是什么呢? Git 是目前最流行的分布式版本控制器。那版本控制器又是什么呢?在做一个项目时,往往会根据需要不断地修改文件。一般情况下,每一次所做的修改都会被添加到文件本身当中,而不会单独被记录下来。过两天程序崩溃了,当你想回退更改,回到前两天正常运行的状态时,除非你当初特意做了标注,否则是无法追踪到修改的历史记录的。这时我们就需要一个能够记录修改历史的工具,于是版本控制器就诞生了,它最主要的作用就是记录你做的所有修改,当需要的时候,快速回退之前的操作。
版本控制器一般分为集中式和分布式。集中式的版本控制器,所有数据都在中央服务器上,多人协作做一个项目,工作时,需要从中央服务器获取最新版本,结束工作时,再推送回到服务器。如果中央服务器的数据丢失了或者你连不到网络,那就会很麻烦了。而分布式版本控制器没有中央服务器的概念,每个人电脑上的数据都是一个版本库,大家都可以做自己的修改,最后再比对修改即可。 Git 流行的另一个原因就是它是分布式的,非常易于多人协作。后面我们也将看到分布式为我们的博客编辑带来的好处。
首先,我们要到 Git 下载网址上下载与你电脑系统对应的 Git 。在这里要确定 git bash here 是选中的。
这样以后使用方便,剩下的一路 Next 下去就好了。
在实际应用中,一般不会在两台电脑之间通过局域网传输版本库,我们会使用一个集中的平台同步更改,这个集中的平台就是 GitHub 。 GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub 。
建立 GitHub 账户非常简单。第一步在 GitHub 官网 https://github.com/ 上填写用户名、邮箱、密码,第二步选择付费方案,如果你没有项目保密的需要,用公用开源仓库就可以了,第三步填写你的开发经验。你可以通过点击 Read the guide 当中的 Hello World 项目来了解 GitHub 的用法。
首先是绑定本地 Git。在桌面上单击鼠标右键,选择 Git Bash Here。在其中输入
代码语言:javascript复制ssh-keygen
一直按回车,直到出现 $ 号示意让你输入下一个命令。
在你的电脑里找到红线标记的那个 .ssh 文件夹,那个 CharlesLee 是我的用户名,你需要根据自己的用户名查找。用记事本打开里面的 id_rsa.pub 文件,这就是你的 ssh key 了。然后到 GitHub 上,点击你的用户头像,找到其中的 Settings 。
选择 SSH and GPG keys ,点击 New SSH key 。将刚才那个文件里所有的内容都复制到 Key 当中, Title 的内容是用来标记这个 SSH Key 的,可以随便写。
恭喜你已经成功关联了 GitHub 账户和本地 Git。为了验证效果,我们在 GitHub 上新建一个项目。点击网页左上角那个黑猫的头像回到主页,找到并点击 New repositories 。
输入你的项目名称,比如 Test1 ,如果你的账户下没有同名项目,将会在旁边显示绿色的对勾,代表名称可用。 Description 和是否使用 README 初始化仓库都是可选的。 Public 代表你的项目是开源的,任何人都可查看, 如果选择 Prvate ,你的项目将会是私有的,但需要付费。
现在这个仓库中只有一个 README 文件。点击右侧绿色的 Clone or download 复制其中的下载地址,比如这个仓库的地址是
代码语言:javascript复制git@github.com:CharlesTigerLee/Test1.git
这个地址是基于 SSH 协议的,你也可以用 HTTPS 协议的地址,这两个地址的效果是一样的,如果一个不成功,可以换另一个试试,要切换地址,就点击我标注 3 的那个地方。
现在就可以把远程仓库当中的文件下载到本地文件夹下啦。在本地电脑新建一个文件夹,就叫 Test1Local 吧。在文件夹中点击鼠标右键然后选择 Git Bash Here。在其中输入命令
代码语言:javascript复制git init
按回车确定,这样就在这个文件夹下初始化了 Git,然后输入
代码语言:javascript复制git remote add origin git@github.com:CharlesTigerLee/Test1.git
注意地址要换成你自己的。这条语句如果被成功执行了,你将不会看到任何反馈信息,这就是 Git 的风格,没有消息就是好消息。这样就把本地文件夹和远程仓库关联到了一起。想要从本地获取远程仓库的文件,使用命令
代码语言:javascript复制git pull origin master
origin 是仓库的本地名称,你可以随便取名字,只是 origin 这个名字很常用。
如果你是第一次使用 pull
、 push
、 clone
这些命令,可能会看到这样的警告
这是由于电脑第一次用 SSH 协议连接 GitHub 时需要确认 Key 的指纹信息真的来自于 GitHub 服务器,一般情况下输入 yes 就好了,以后也不会再有这样的问题了。 如果顺利,你就可以在文件夹下看到一个 README.md 文件啦。这个文件是用 MarkDown 语言写的,这是一种很便捷的标记语言,可以让你快速写出版式优美的文章。我将在后面的文章里教大家 MarkDown 的语法。现在我们来修改这个文件,单击 README.md,右键选择打开方式,选择用记事本打开。现在文件的内容是这样的
代码语言:javascript复制# Test1
Test program
我们在其中输入 “This is my first project on github.” 或者任何你想说的话。 现在文件看起来是这样的
代码语言:javascript复制# Test1
Test program
This is my first project on github.
保存并关闭它就可以啦。每一次修改文件夹下的文件后,无论是修改现有的文件,还是创建新文件或者删除文件,都要用
代码语言:javascript复制git add .
命令提交更改到本地的 git 记录当中, add 后面的 . 代表提交所有更改,当然你也可以用
代码语言:javascript复制git add README.md
提交一个文件,或者
代码语言:javascript复制git add file1.txt file2.txt file3.txt
一次提交多个文件。提交更改之后要确认修改,要使用
代码语言:javascript复制git commit -m "修改描述"
写修改描述是为了方便以后回退文件版本。如果你已经提交并确认了修改,就可以把它提交到远程仓库啦。想要把本地的文件上传到远程仓库,第一次要使用
代码语言:javascript复制git push -u origin master
其中的 -u 命令可以把本地 master 分支和远程的 master 分支合并,关于分支的问题,以后我们还会提到。 以后上传文件使用
代码语言:javascript复制git push origin master
因为这个文件夹下只有这一个仓库,也只有这一个分支,所以还可以用
代码语言:javascript复制git push
现在你的远程仓库看起来就是这样的啦
好了,关于 Git 和 GitHub 的基本用法就介绍到这里了。如果你想了解 Git 和 GitHub 的更多用法,我推荐你看廖雪峰的教程,廖雪峰 Git 教程 ,这个教程很棒的。GitHub 上面有很多优秀的开源项目,你可以把它们 Fork 到自己的账户下,以便学习借鉴。
Coding
现在我们要学习 Coding 的用法了。用 GitHub Hexo 就可以搭建出很好的博客了,为什么还要用 Coding 呢?因为 GitHub 是国外的服务器,把博客托管在它上边,访问的速度会受到限制,而且 GitHub 已经禁止百度爬虫爬取数据,把你的博客加入到百度搜索引擎当中会很困难,所以我们要用国内的托管平台—— Coding 。其实 Coding 并不只是国内的 GitHub 那么简单,它的目标更远大,具体可以看这篇文章 为什么 Coding 不是中国的 Github,但我们目前只需要用它来托管博客,所以把 Coding 和 GitHub 看作一样的也没什么影响。 注册 Coding 账户和注册 GitHub 账户差不多,在 Coding 官网 https://coding.net/ 上免费注册就行了。
我们先来添加 Coding 的 SSH 密钥。这个过程和刚才 GitHub 的一样,用的是相同的密钥。
添加完密钥我们就可以创建项目了。
点击图中标注 1 的加号可以创建新项目,或者你还没有项目的话可以点击 3 位置的 创建项目 来新建。
Coding 当中的选项和 GitHub 差不多。图中标注 1 的那个位置选择 Git 仓库就好了, SVN 是一个集中式版本控制器。图中 2 位置选择是否公开源码, Coding 和 GitHub的一个不同就是这里, Coding 默认是私有仓库。我个人崇尚知识共享精神,所以我博客的源码都是公开的,你也可以在我的账户里看到我的源文件。在这里我创建一个公开源码,启用 README.md 的项目。
在项目动态里可以看到所有参与这个项目的作者的推送历史。我们用 Coding 来复习一下刚才学到的内容。
- 找到我标记的那个位置,和 GitHub 一样,复制项目地址,选择左边的 HTTPS 按钮也可以改成 SSH 协议地址
- 在本地新建文件夹,右键选择 git bash here,用
git init
命令初始化 - 用
git remote add origin <https://git.coding.net/CharlesTigerLee/Test2.git>
关联远程仓库 - 用
git pull origin master
命令拉取远程仓库文件 - 用记事本修改 README.md 文件
- 用
git add .
提交修改 - 用
git commit -m "修改描述"
确认修改 - 用
git push -u origin master
提交并合并远程 master 分支,以后可以使用简化的git push
命令来提交这个单一仓库单一分支的项目
在你进行第八条操作的时候,可能会出现这个对话框,让你输入你的 Coding 账户和密码,输入就好了,以后也不会再出现了。
现在看一下 Coding 的远程仓库,已经同步成功了吧。
总结
看完这篇文章,恭喜你学会了 Git 、 GitHub 和 Coding 的基本用法,现在你就可以使用远程仓库托管项目啦。我将在下一篇博客当中教大家 Hexo 的基本用法,期待与你再见。