当前位置: 首页 > news >正文

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法

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 官网 GitHub: Let’s build from here · GitHub 上填写用户名、邮箱、密码,第二步选择付费方案,如果你没有项目保密的需要,用公用开源仓库就可以了,第三步填写你的开发经验。你可以通过点击 Read the guide 当中的 Hello World 项目来了解 GitHub 的用法。

首先是绑定本地 Git。在桌面上单击鼠标右键,选择 Git Bash Here。在其中输入

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 复制其中的下载地址,比如这个仓库的地址是

git@github.com:CharlesTigerLee/Test1.git

这个地址是基于 SSH 协议的,你也可以用 HTTPS 协议的地址,这两个地址的效果是一样的,如果一个不成功,可以换另一个试试,要切换地址,就点击我标注 3 的那个地方。

现在就可以把远程仓库当中的文件下载到本地文件夹下啦。在本地电脑新建一个文件夹,就叫 Test1Local 吧。在文件夹中点击鼠标右键然后选择 Git Bash Here。在其中输入命令

git init

按回车确定,这样就在这个文件夹下初始化了 Git,然后输入

git remote add origin git@github.com:CharlesTigerLee/Test1.git

注意地址要换成你自己的。这条语句如果被成功执行了,你将不会看到任何反馈信息,这就是 Git 的风格,没有消息就是好消息。这样就把本地文件夹和远程仓库关联到了一起。想要从本地获取远程仓库的文件,使用命令

git pull origin master

origin 是仓库的本地名称,你可以随便取名字,只是 origin 这个名字很常用。

如果你是第一次使用 pull 、 push 、 clone 这些命令,可能会看到这样的警告

这是由于电脑第一次用 SSH 协议连接 GitHub 时需要确认 Key 的指纹信息真的来自于 GitHub 服务器,一般情况下输入 yes 就好了,以后也不会再有这样的问题了。

如果顺利,你就可以在文件夹下看到一个 README.md 文件啦。这个文件是用 MarkDown 语言写的,这是一种很便捷的标记语言,可以让你快速写出版式优美的文章。我将在后面的文章里教大家 MarkDown 的语法。现在我们来修改这个文件,单击 README.md,右键选择打开方式,选择用记事本打开。现在文件的内容是这样的

# Test1

Test program

我们在其中输入 “This is my first project on github.” 或者任何你想说的话。

现在文件看起来是这样的

# Test1

Test program

This is my first project on github.

保存并关闭它就可以啦。每一次修改文件夹下的文件后,无论是修改现有的文件,还是创建新文件或者删除文件,都要用

git add .

命令提交更改到本地的 git 记录当中, add 后面的 . 代表提交所有更改,当然你也可以用

git add README.md

提交一个文件,或者

git add file1.txt file2.txt file3.txt

一次提交多个文件。提交更改之后要确认修改,要使用

git commit -m "修改描述"

写修改描述是为了方便以后回退文件版本。如果你已经提交并确认了修改,就可以把它提交到远程仓库啦。想要把本地的文件上传到远程仓库,第一次要使用

git push -u origin master

其中的 -u 命令可以把本地 master 分支和远程的 master 分支合并,关于分支的问题,以后我们还会提到。

以后上传文件使用

git push origin master

因为这个文件夹下只有这一个仓库,也只有这一个分支,所以还可以用

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 官网 CODING DevOps - 一站式软件研发管理平台-腾讯云 上免费注册就行了。

我们先来添加 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 的基本用法,期待与你再见。

相关文章:

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法

搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法 搭建Hexo博客-第1章-Git和GitHub以及Coding的简单用法 Coding GitHub Hexo Markdown 搭建博客 大家好&#xff0c;这是我第一次写博客。使用 GitHub Hexo 创建最基本的博客很容易&#xff0c;网上有很多现成的教程。…...

【C++修行之路】C/C++内存管理

文章目录程序区域内存划分C语言动态内存分配&#xff1a;new和delete&#xff1a;new、delete和malloc、free的区别:程序区域内存划分 C/C程序内存区域划分非常相似。 C语言动态内存分配&#xff1a; malloc、calloc、realloc都是C语言动态开辟内存的常用函数 其中 malloc 开…...

spring cloud alibaba Sentinel(四)

服务雪崩 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100% 可用。 如果一个服务出现了问题&#xff0c;调用这个服务就会出现线程阻塞的情况&#xff0c; 此时若有大量的请求涌入&#xff0c;就会出现多条 线程阻塞等待&#xff0c;进而导致服务瘫痪。 由于服…...

Redis第三讲

目录 三、Redis03 3.1 Redis持久化之RDB 3.1.1 什么是RDB 3.1.2 备份是如何执行的 3.1.3 Fork 3.1.4 RDB持久化流程 3.1.5 dump.rdb文件 3.1.6 配置rdb文件生成位置 3.1.7 如何触发RDB快照以及保持策略 3.2 Redis持久化之AOF 3.2.1 什么是AOF 3.2.2 AOF持久化流程 …...

JAVA线程池的使用

一、池化思想和JAVA线程池 池化是很重要的思想&#xff1b;池化的好处是提供缓冲和统一的管理。这个笔者在本人的数据库连接池的博客中已经提到过了&#xff08;JAVA常用数据库连接池_王者之路001的博客-CSDN博客 &#xff09;。 线程池是另一种池化思想的运用&#xff0c;把…...

力扣56.合并区间

文章目录力扣56.合并区间题目描述排序合并力扣56.合并区间 题目描述 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中…...

代码随想录二刷Day03链表: 24.两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表||

24.两两交换链表中的节点 文章链接&#xff1a;代码随想录 (programmercarl.com) 思路&#xff1a; &#xff08;1&#xff09;首先如果要处理相邻两个节点的话&#xff0c;一定需要操作两个节点的前一个节点才可以&#xff0c;因此&#xff0c;本题需要设定一个虚拟头节点 …...

我应该在我的博客上写什么? 介绍如何撰写初学者容易担心的文章

我想有很多人开了博客&#xff0c;但想不起来写作&#xff0c;无法取得进展。 博客的主题和文章的内容不会仅仅通过写你想做的事情来工作。 重要的是要了解用户想要阅读的内容以及人们可能收集的内容&#xff0c;并将其与您想要编写的内容很好地匹配。 这一次&#xff0c;我…...

嵌入式C语言设计模式 --- 外观模式

1 - 什么是外观模式? 外观模式(Facade Pattern),是一种比较简单的结构型模式,它存在的目的,也是为了简单。 外观模式隐藏了一系列接口的复杂性,旨在为外部客户端提供一个更高层次且统一简单的接口,简化了客户端调用某些模块的一系列操作。 外观模式应该是软件工程师…...

若依ruoyi——手把手教你制作自己的管理系统【三、代码生成】

昨天情人节一(&#xffe3;︶&#xffe3;*)) 送给赛利亚一((*&#xffe3;3&#xffe3;)╭ ********* 专栏略长 爆肝万字 细节狂魔 请准备好一键三连 ********* 修改后的页面&#xff1a; 干干净净贼舒服一Ψ(&#xffe3;∀&#xffe3;)Ψ——Ψ(&#xffe3;∀&#x…...

SCI论文写作神器集合 —— 超级实用

特此声明&#xff1a; 本文拷贝多处别人的内容&#xff0c;并给出具体的链接 本文所提到的软件都为博主在文章撰写过程中发掘的比较实用的工具&#xff0c;旨在帮助小伙伴们更快更有效率的完成文章发表&#xff0c;如果其他好用的工具&#xff0c;欢迎各位交流~~ 一、文献搜索神…...

MAC 系统安装多版本 JDK 并任意切换

1、背景 在进行 Java 开发的过程中&#xff0c;我们可能需要使用不同版本的 JDK。例如&#xff1a;一些旧的 Java 应用程序只能在旧版本的 JDK 上运行&#xff0c;而一些新的 Java 应用程序需要较新的 JDK 才能运行。 在 MAC 系统上&#xff0c;如何安装多个版本的 JDK 并配置…...

配置 Smart Link 接口时需注意的互斥命令

配置 Smart Link 接口时需注意的互斥命令 一、接口加入Smart Link组功能与以下功能互斥一、接口加入Smart Link组功能与以下功能互斥 注&#xff1a;当接口已经加入Smart Link组&#xff0c;则不能再配置以下功能&#xff1b;反之&#xff0c;当接口已经配置以下功能&#xff…...

QT的下载和安装

这里介绍的是QT官方方式下载&#xff0c;每次都让我很糊涂&#xff0c;就记载一下。先是下载QT online installerhttps://www.qt.io/download 在下方有Go Open Sourcehttps://www.qt.io/download-open-source 在下方有Download the Qt Online installerhttps://www.qt.io/downl…...

nacos配置中心与服务注册中心

文章目录 目录 文章目录 前言 一、服务注册与发现中心 二、配置中心 总结 前言 Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 Spring Cloud Alibaba 组件之一&#xff0c;负责服务注册发现和服务配置. [服务治理的作用和微服务配置管理] Na…...

UE4 手把手教你做插件(1) 从代码引用插件

0&#xff0c;前言 我看的是 技术宅阿棍儿 的视频&#xff0c;B站有。 系列视频&#xff1a;从代码引用插件_哔哩哔哩_bilibili 看不懂&#xff0c;只能边查资料边看&#xff0c;讲的顺序有点乱 1&#xff0c;根据视频提示创建第三方插件 注意&#xff1a;如果只有空白插件的情…...

【Mybatis源码解析】一级缓存和二级缓存源码解析

文章目录缓存使用缓存源码测试代码上一篇《【Mybatis源码解析】mapper实例化及执行流程源码分析》&#xff0c;主要讲解了Mybatis的基本原理一级执行的流程&#xff0c;这一章来讲一下Mybatis的两个缓存&#xff1a;一级缓存和二级缓存。 因为网上大部分都是使用xml配置的方式…...

你知道MES实施的要点吗?

随着国家行动纲领&#xff1a;中国制造2025&#xff08;智能制造&#xff09;的发布&#xff0c;MES系统在制造业的工厂中所占比重越来越大&#xff0c;越来越多的工厂选择使用MES完成工厂的信息化、数字化、智能化生产。伴随着企业对MES的需求不断增大&#xff0c;生产MES的厂…...

告诉你为什么为什么 SELECT COUNT(*) FROM table 在 InnoDB 引擎中比 MyISAM引擎中的速度慢

统计一张表的总数量&#xff0c;是我们开发中常有的业务需求&#xff0c;通常情况下&#xff0c;我们都是使用 select count(*) from table SQL 语句来完成。随着业务数据的增加&#xff0c;你会发现这条语句执行的速度越来越慢&#xff0c;为什么它会变慢呢&#xff1f; 为什…...

Redis 命令和Redis key键

Redis 命令 Redis 命令用于在 Redis 服务器上执行一些操作&#xff0c;而命令运行的方式是通过客户端命令行来执行的&#xff0c;这种方式也被称为“命令行模式”。因此想要在 Redis 服务器上运行命令&#xff0c;您首先需要开启一个 Redis 客户端。操作方法如下&#xff1a; …...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...