index.html 33.2 KB
Newer Older
Alderaan's avatar
Alderaan 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 4.2.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"alderaan.xyz","root":"/","scheme":"Gemini","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
  </script>

  <meta name="description" content="概述​    近来发现,之前学习过、实践过的东西,要用的时候经常一时想不起来。习惯性添加进谷歌浏览器的书签,也会因为对方博客文章删除等无法继续看到。特别的是,部署一个东西需要看几个网上资源才可以完成,书签列表越来越长,难以维护。为此,觉得还是很有必要通过写博客的方式进行分类记录,也方便分享经验。本着能折腾就不闲着的宗旨,在网上查阅有关资料后,决定在GitHub上搭建Hexo个人博客,顺便学习使用M">
<meta property="og:type" content="article">
<meta property="og:title" content="在GitHub上搭建Hexo个人博客">
<meta property="og:url" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/index.html">
<meta property="og:site_name" content="Alderaan的博客">
<meta property="og:description" content="概述​    近来发现,之前学习过、实践过的东西,要用的时候经常一时想不起来。习惯性添加进谷歌浏览器的书签,也会因为对方博客文章删除等无法继续看到。特别的是,部署一个东西需要看几个网上资源才可以完成,书签列表越来越长,难以维护。为此,觉得还是很有必要通过写博客的方式进行分类记录,也方便分享经验。本着能折腾就不闲着的宗旨,在网上查阅有关资料后,决定在GitHub上搭建Hexo个人博客,顺便学习使用M">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-111152.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-114433.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-205440.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-193801.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-202952.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-config/20200503-203256.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-200236.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-200812.jpg">
<meta property="og:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-202546.jpg">
<meta property="article:published_time" content="2020-05-03T02:04:45.000Z">
<meta property="article:modified_time" content="2020-05-07T03:46:42.729Z">
<meta property="article:author" content="Alderaan">
<meta property="article:tag" content="Hexo">
<meta property="article:tag" content="Github">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-111152.jpg">

<link rel="canonical" href="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>在GitHub上搭建Hexo个人博客 | Alderaan的博客</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

<link rel="alternate" href="/atom.xml" title="Alderaan的博客" type="application/atom+xml">
</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">Alderaan的博客</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="main-menu menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>

  </li>
        <li class="menu-item menu-item-about">

    <a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a>

  </li>
  </ul>
</nav>




</div>
    </header>

    
  <div class="back-to-top">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  

  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.jpg">
      <meta itemprop="name" content="Alderaan">
      <meta itemprop="description" content="">
    </span>
    
    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="Alderaan的博客">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          在GitHub上搭建Hexo个人博客
        </h1>
    
        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>
    
              <time title="创建时间:2020-05-03 10:04:45" itemprop="dateCreated datePublished" datetime="2020-05-03T10:04:45+08:00">2020-05-03</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="far fa-calendar-check"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间:2020-05-07 11:46:42" itemprop="dateModified" datetime="2020-05-07T11:46:42+08:00">2020-05-07</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-folder"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/Hexo/" itemprop="url" rel="index"><span itemprop="name">Hexo</span></a>
                </span>
            </span>
    
          
            <span class="post-meta-item" title="阅读次数" id="busuanzi_container_page_pv" style="display: none;">
              <span class="post-meta-item-icon">
                <i class="fa fa-eye"></i>
              </span>
              <span class="post-meta-item-text">阅读次数:</span>
              <span id="busuanzi_value_page_pv"></span>
            </span>
    
        </div>
      </header>
    
    
    
    
    <div class="post-body" itemprop="articleBody">
    
      
        <h1 id="概述"><a href="#概述" class="headerlink" title="概述"></a>概述</h1><p>​    近来发现,之前学习过、实践过的东西,要用的时候经常一时想不起来。习惯性添加进谷歌浏览器的书签,也会因为对方博客文章删除等无法继续看到。特别的是,部署一个东西需要看几个网上资源才可以完成,书签列表越来越长,难以维护。为此,觉得还是很有必要通过写博客的方式进行分类记录,也方便分享经验。本着<code>能折腾就不闲着</code>的宗旨,在网上查阅有关资料后,决定在<strong>GitHub</strong>上搭建<strong>Hexo</strong>个人博客,顺便学习使用<strong>Markdown</strong></p>
<a id="more"></a>

<h1 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h1><h2 id="安装Git"><a href="#安装Git" class="headerlink" title="安装Git"></a>安装<strong>Git</strong></h2><p>​    在<strong>Git</strong>的官方<a href="https://git-scm.com/downloads" target="_blank" rel="noopener">下载地址</a>上,选择要安装平台的安装文件进行安装</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-111152.jpg" alt="Git官方下载地址截图"></p>
<p>​    上述图片是在Mac OS上访问网页的截图,官网一般会自动检测当前电脑的系统,如果是Windows上浏览网页右侧显示会略有不同,当然也可以在Downloads下选择特定平台的版本安装文件。</p>
<h2 id="安装Node-js"><a href="#安装Node-js" class="headerlink" title="安装Node.js"></a>安装<strong>Node.js</strong></h2><p>​    在<strong>Node.js</strong>的官方<a href="https://nodejs.org/en/" target="_blank" rel="noopener">下载地址</a>上,选择要安装平台的安装文件进行安装</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-114433.jpg" alt="Node.js官方下载地址截图"></p>
<p>​    这里我选择的是12.16.3 LTS版本进行安装。</p>
<h1 id="安装Hexo"><a href="#安装Hexo" class="headerlink" title="安装Hexo"></a>安装Hexo</h1><h2 id="执行安装命令"><a href="#执行安装命令" class="headerlink" title="执行安装命令"></a>执行安装命令</h2><p>​    在命令行执行以下命令(Mac、Linux下需要加上sudo权限)</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install -g hexo</span><br></pre></td></tr></table></figure>

<h2 id="初始化网站"><a href="#初始化网站" class="headerlink" title="初始化网站"></a>初始化网站</h2><p>​    在磁盘上创建好一个文件夹(本文章文件夹名为blog),用于保存网站文件,并切换到文件夹后,执行一下命令</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$ <span class="built_in">cd</span> blog</span><br><span class="line">$ hexo init</span><br></pre></td></tr></table></figure>

<h2 id="生成默认网页"><a href="#生成默认网页" class="headerlink" title="生成默认网页"></a>生成默认网页</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate <span class="comment"># 也可以简写为 hexo g</span></span><br></pre></td></tr></table></figure>

<h2 id="启动本地预览服务"><a href="#启动本地预览服务" class="headerlink" title="启动本地预览服务"></a>启动本地预览服务</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server <span class="comment"># 也可以简写为 hexo s</span></span><br></pre></td></tr></table></figure>

<p>​    默认的本地预览服务地址为 <a href="http://localhost:4000" target="_blank" rel="noopener">http://localhost:4000</a> ,需要先确保端口4000没有被占用,以免影响访问网页。不出意外,在浏览器上可以看到如下默认网页。</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-205440.jpg" alt="Hexo博客默认主题Hello World页面"></p>
<h2 id="修改主题"><a href="#修改主题" class="headerlink" title="修改主题"></a>修改主题</h2><p>​    如果对默认主题风格不满意,可以在hexo的<a href="https://hexo.io/themes/" target="_blank" rel="noopener">官网</a>上寻找自己喜欢的主题,并下载到theme目录下面。本博客使用的是NexT主题,可执行如下代码下载</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ git <span class="built_in">clone</span> https://github.com/iissnan/hexo-theme-next themes/next <span class="comment"># 若通过git clone下载,后续如果修改了主题配置,则无法提交修改后子模块源码到GitHub,建议下载后手动拷贝到themes文件夹下</span></span><br></pre></td></tr></table></figure>

<p>​    在 Hexo 中有两份主要的配置文件,其名称都是 <code>_config.yml</code>。 其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。</p>
<p>​    为了描述方便,在以下说明中,将前者称为 <strong>站点配置文件</strong>, 后者称为 <strong>主题配置文件</strong>。打开 <strong>站点配置文件</strong>, 找到 <code>theme</code> 字段,并将其值更改为 <code>next</code>,以启用 NexT 主题</p>
<blockquote>
<p>theme: next</p>
</blockquote>
<p>​    在切换主题之后、验证之前, 我们最好使用 <code>hexo clean</code> 来清除 Hexo 的缓存。重新执行<code>hexo g</code><code>hexo s</code>即可查看应用新主题后的默认网页。</p>
<h1 id="部署到GitHub"><a href="#部署到GitHub" class="headerlink" title="部署到GitHub"></a>部署到GitHub</h1><h2 id="配置免密SSH登陆"><a href="#配置免密SSH登陆" class="headerlink" title="配置免密SSH登陆"></a>配置免密SSH登陆</h2><p>​    由于Hexo博客文章是通过提交代码实现,所以需要拥有github传输权限,但是直接使用用户名和密码不够安全,所以我们使用SSH Key来解决本地和服务器的连接问题。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">$ <span class="built_in">cd</span> ~/.ssh </span><br><span class="line">$ ls <span class="comment">#检查本机已存在的ssh密钥</span></span><br></pre></td></tr></table></figure>

<p>​    如果没有任何结果,说明你是第一次使用git;如果仅有known_hosts文件,没有包含<code>id_rsa</code>字样文件,则需要创建SSH Key:</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ ssh-keygen -t rsa -C <span class="string">"邮件地址"</span></span><br></pre></td></tr></table></figure>

<p>​    然后连续3次回车(默认不添加密码),最终会生成两个文件(<code>id_rsa</code><code>id_rsa.pub</code>)在用户目录下,打开用户目录,找到<code>.ssh/id_rsa.pub</code>文件,执行</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ cat id_rsa.pub</span><br></pre></td></tr></table></figure>

<p>​    并复制里面的内容(<code>ssh-rsa</code>开头、你输入的<code>邮件地址</code>内容结尾),打开你的github主页,进入Settings -&gt; SSH and GPG keys -&gt; New SSH key:</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-193801.jpg" alt="SSH配置截图"></p>
<p>​    将刚复制的内容粘贴到Key那里,Title按实际需要填写内容,保存后测试是否配置成功。</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ ssh -T git@github.com <span class="comment">#注意地址不用改</span></span><br></pre></td></tr></table></figure>

<p>​    如果提示<code>Are you sure you want to continue connecting (yes/no)?</code>,输入yes,如果返回如下信息,说明SSH已配置成功:</p>
<blockquote>
<p>Hi XXX! You’ve successfully authenticated, but GitHub does not provide shell access.</p>
</blockquote>
<h2 id="创建个人主页仓库"><a href="#创建个人主页仓库" class="headerlink" title="创建个人主页仓库"></a>创建个人主页仓库</h2><p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-202952.jpg" alt="创建Github仓库截图"></p>
<p>​    这里需要注意的是,仓库名字格式为<code>xxx.github.io</code>,且前缀需要和Username一致,如果你的github账户名为blog,那么对应的的仓库名为blog.github.io。新建成功后,复制SSH地址。</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-config/20200503-203256.jpg" alt="SSH地址截图"></p>
<h2 id="绑定个人域名-可选"><a href="#绑定个人域名-可选" class="headerlink" title="绑定个人域名(可选)"></a>绑定个人域名(可选)</h2><p>​    如果不绑定域名,只能通过默认的 <code>xxx.github.io</code> 来访问,如果你想更个性一点,可以在阿里云上注册一个域名(需要实名认证),并到控制台-&gt;域名-&gt;解析-&gt;解析设置-&gt;添加记录。</p>
<p>​    域名解析配置最常见有2种方式,CNAME和A记录,CNAME填写域名,A记录填写IP,由于不带www方式只能采用A记录,所以必须先ping一下<code>你Username.github.io</code>的IP,然后到你的域名DNS设置页,将A记录指向你ping得到的IP,将CNAME指向<code>Username.github.io</code>,这样可以保证无论是否添加www都可以访问,如下所示:</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-200236.jpg" alt="域名解析设置截图"></p>
<p>​    此时需要到仓库下面,选择<code>Settings</code>-&gt;<code>options</code>,并下拉滚动条到<strong>GitHub Pages</strong>-&gt;<code>Custom domain</code>内填写上你的个人域名地址,如下所示:</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-200812.jpg" alt="GitHub Pages配置截图"></p>
<p>​    可以开启<strong>Enforce HTTPS</strong>,个人页面Github会自动添加HTTPS证书,不会提示连接不安全的问题。</p>
<blockquote>
<p>此时还不能直接通过域名验证,由于阿里云免费的域名解析需要10分钟时间才能完全同步,且Github会自动申请添加HTTPS证书,需要一定时间。建议等待十分钟后,再查看是否可以正常访问。</p>
</blockquote>
<h2 id="上传Hexo生成的博客"><a href="#上传Hexo生成的博客" class="headerlink" title="上传Hexo生成的博客"></a>上传Hexo生成的博客</h2><p>​    hexo可以通过命令直接上传到git,但需要安装一个插件:</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure>

<p>​    安装后,打开<strong>站点配置文件</strong>,找到<code>deploy</code>部分,修改<code>repository</code>项内容:</p>
<figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">deploy:</span></span><br><span class="line">	<span class="attr">type:</span> <span class="string">git</span>  </span><br><span class="line">	<span class="attr">repository:</span> <span class="string">git@github.com:Username/Username.github.io.git</span>  </span><br><span class="line">	<span class="attr">branch:</span> <span class="string">master</span></span><br></pre></td></tr></table></figure>

<p>​    此时,到blog下输入</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy <span class="comment"># 也可以简写为 hexo d</span></span><br></pre></td></tr></table></figure>

<p>​    就会将本次有改动的代码全部提交到<code>master</code>:</p>
<p><img src="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/20200503-202546.jpg" alt="hexo d命令结果截图"></p>
<h2 id="上传Hexo博客源码-可选"><a href="#上传Hexo博客源码-可选" class="headerlink" title="上传Hexo博客源码(可选)"></a>上传Hexo博客源码(可选)</h2><p>​    为方便在MacOS、Windows不同电脑上随时编辑博客,且防止当前电脑故障,导致找不到Hexo配置及博文原始md文件,可以在存放Hexo博客生成的页面上创建一个新分支source,用于专门提交博客源码。</p>
<p>​    操作步骤如下:</p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">$ <span class="built_in">cd</span> blog <span class="comment"># 切换到博客文件夹下</span></span><br><span class="line">$ git init <span class="comment"># 初始化git</span></span><br><span class="line">$ git remote add origin https://github.com/Username/Username.github.io.git <span class="comment"># 替换为你实际的git地址</span></span><br><span class="line">$ git checkout -b <span class="built_in">source</span> <span class="comment"># 创建并切换到新分支source</span></span><br><span class="line">$ git add . <span class="comment"># 添加当前所有文件(Hexo博客源码自带上传规则,会自动排出public等博客会自动生成的文件)</span></span><br><span class="line">$ git commit -m <span class="string">"your description"</span> <span class="comment"># 添加提交版本描述</span></span><br><span class="line">$ git push origin <span class="built_in">source</span> <span class="comment">#提交Hexo博客源码到source分支</span></span><br></pre></td></tr></table></figure>

<p>​    由于<strong>站点配置文件</strong>指定了上传博客网页的是master分支,所以提交Hexo博客源码切换的<code>source</code>分支,不会影响到<code>hexo d</code>的正常提交,两者互不冲突。</p>
<p>​    至此,Hexo博客的安装部署工作已经完成!</p>

    </div>
    
    
    
    
        

<div>
<ul class="post-copyright">
  <li class="post-copyright-author">
    <strong>本文作者: </strong>Alderaan
  </li>
  <li class="post-copyright-link">
    <strong>本文链接:</strong>
    <a href="https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/" title="在GitHub上搭建Hexo个人博客">https://alderaan.xyz/2020/05/03/hexo-install-and-deploy/</a>
  </li>
  <li class="post-copyright-license">
    <strong>版权声明: </strong>本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" rel="noopener" target="_blank"><i class="fab fa-fw fa-creative-commons"></i>BY-NC-SA</a> 许可协议。转载请注明出处!
  </li>
</ul>
</div>

    
      <footer class="post-footer">
          
          <div class="post-tags">
              <a href="/tags/Hexo/" rel="tag"><i class="fa fa-tag"></i> Hexo</a>
              <a href="/tags/Github/" rel="tag"><i class="fa fa-tag"></i> Github</a>
          </div>
    
        

    
        
    <div class="post-nav">
      <div class="post-nav-item"></div>
      <div class="post-nav-item">
    <a href="/2020/05/06/hexo-config/" rel="next" title="Hexo博客Next主题美化">
      Hexo博客Next主题美化 <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          

<script>
Alderaan's avatar
Alderaan 已提交
374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
Alderaan's avatar
Alderaan 已提交
393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
          <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#概述"><span class="nav-number">1.</span> <span class="nav-text">概述</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#准备工作"><span class="nav-number">2.</span> <span class="nav-text">准备工作</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#安装Git"><span class="nav-number">2.1.</span> <span class="nav-text">安装Git</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#安装Node-js"><span class="nav-number">2.2.</span> <span class="nav-text">安装Node.js</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#安装Hexo"><span class="nav-number">3.</span> <span class="nav-text">安装Hexo</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#执行安装命令"><span class="nav-number">3.1.</span> <span class="nav-text">执行安装命令</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#初始化网站"><span class="nav-number">3.2.</span> <span class="nav-text">初始化网站</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#生成默认网页"><span class="nav-number">3.3.</span> <span class="nav-text">生成默认网页</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#启动本地预览服务"><span class="nav-number">3.4.</span> <span class="nav-text">启动本地预览服务</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#修改主题"><span class="nav-number">3.5.</span> <span class="nav-text">修改主题</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#部署到GitHub"><span class="nav-number">4.</span> <span class="nav-text">部署到GitHub</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#配置免密SSH登陆"><span class="nav-number">4.1.</span> <span class="nav-text">配置免密SSH登陆</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#创建个人主页仓库"><span class="nav-number">4.2.</span> <span class="nav-text">创建个人主页仓库</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#绑定个人域名-可选"><span class="nav-number">4.3.</span> <span class="nav-text">绑定个人域名(可选)</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#上传Hexo生成的博客"><span class="nav-number">4.4.</span> <span class="nav-text">上传Hexo生成的博客</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#上传Hexo博客源码-可选"><span class="nav-number">4.5.</span> <span class="nav-text">上传Hexo博客源码(可选)</span></a></li></ol></li></ol></div>
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="Alderaan"
      src="/images/avatar.jpg">
  <p class="site-author-name" itemprop="name">Alderaan</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">2</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">1</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">2</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>



      </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2020</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">Alderaan</span>
</div>

        
<div class="busuanzi-count">
  <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span class="post-meta-item" id="busuanzi_container_site_uv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-user"></i>
      </span>
      <span class="site-uv" title="总访客量">
        <span id="busuanzi_value_site_uv"></span>
      </span>
    </span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item" id="busuanzi_container_site_pv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-eye"></i>
      </span>
      <span class="site-pv" title="总访问量">
        <span id="busuanzi_value_site_pv"></span>
      </span>
    </span>
</div>








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  















  

  

</body>
</html>