<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Jta</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://fcmmm.xyz/</id>
  <link href="https://fcmmm.xyz/" rel="alternate"/>
  <link href="https://fcmmm.xyz/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Jta</rights>
  <subtitle>分享技术与生活</subtitle>
  <title>Fcmmm's Blog</title>
  <updated>2026-07-15T08:35:35.485Z</updated>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="小记" scheme="https://fcmmm.xyz/categories/%E5%B0%8F%E8%AE%B0/"/>
    <category term="小记" scheme="https://fcmmm.xyz/tags/%E5%B0%8F%E8%AE%B0/"/>
    <content>
      <![CDATA[<p>距离上次发博客将近一个月了，感觉这一个月好快，细想来也没什么特别刻骨铭心的事情。</p><p>倒是有件不想回忆起的烂事，不提了。关于这件事的记录我都删掉了，像一场持续了一整个六月的闹剧，而我傻傻地沉浸其中自娱自乐。</p><p>这段时间瘦了三四斤吧，虽然不是很明显但至少也有所改善。研三的师哥师姐毕业了，真羡慕，不知道下一年的我这会儿会是怎样的状态。</p><p>软考擦边过了，也算是给我一丝慰藉，两个周没白看。</p><p>最近也开始看行测了，学了花生十三的资料。马上也该秋招了，八月初中期汇报完要准备个项目了，秋招多投一下争取找个保底……</p><p>最近还换了工位，从J13挪到了S1。</p><hr><p>最近大概就这些，总之还是感觉浑浑噩噩看不到什么希望，好想穿越过去这即将到来的挣扎的忙碌的一年……</p>]]>
    </content>
    <id>https://fcmmm.xyz/p/715diary/</id>
    <link href="https://fcmmm.xyz/p/715diary/"/>
    <published>2026-07-15T14:30:00.000Z</published>
    <summary>
      <![CDATA[<p>距离上次发博客将近一个月了，感觉这一个月好快，细想来也没什么特别刻骨铭心的事情。</p>
<p>倒是有件不想回忆起的烂事，不提了。关于这件事的记录我都删掉了，像一场持续了一整个六月的闹剧，而我傻傻地沉浸其中自娱自乐。</p>
<p>这段时间瘦了三四斤吧，虽然不是很明显但至少]]>
    </summary>
    <title>7.15小记</title>
    <updated>2026-07-15T08:35:35.485Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="小记" scheme="https://fcmmm.xyz/categories/%E5%B0%8F%E8%AE%B0/"/>
    <category term="开发心得" scheme="https://fcmmm.xyz/tags/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/"/>
    <content>
      <![CDATA[<h2 id="完善部分功能"><a href="#完善部分功能" class="headerlink" title="完善部分功能"></a><h1>完善部分功能</h1></h2> <h2>1.将网易云api接入到服务器中，提升加载速度，并且可以听完整歌曲</h2> 初始部署到vercel中，但感觉太慢了，然后尝试部署到服务器中。。。 <h2>2.修复歌词显示异常问题</h2> <h2>3.新增音乐悬浮窗</h2> <h2>4.待完善功能：评论功能优化，实现游客评论功能</h2>]]>
    </content>
    <id>https://fcmmm.xyz/p/3479234065/</id>
    <link href="https://fcmmm.xyz/p/3479234065/"/>
    <published>2026-06-17T09:34:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="完善部分功能"><a href="#完善部分功能" class="headerlink" title="完善部分功能"></a><h1>完善部分功能</h1></h2> <h2>1.将网易云api接入到服务器中，提升加载速度，并且可以听完整歌曲</h2>]]>
    </summary>
    <title>音乐播放功能完善</title>
    <updated>2026-07-15T08:35:35.487Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="小记" scheme="https://fcmmm.xyz/categories/%E5%B0%8F%E8%AE%B0/"/>
    <category term="开发心得" scheme="https://fcmmm.xyz/tags/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/"/>
    <content>
      <![CDATA[<h2 id="今天把项目部署在了阿里云服务器上阿里云服务器300元优惠券，大体过程："><a href="#今天把项目部署在了阿里云服务器上阿里云服务器300元优惠券，大体过程：" class="headerlink" title="今天把项目部署在了阿里云服务器上阿里云服务器300元优惠券，大体过程："></a>今天把项目部署在了阿里云服务器上<a href="http://i8c.cn/zuCii">阿里云服务器300元优惠券</a>，大体过程：</h2><p> <strong>部署过程</strong>：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">主项目：Hexo + Butterfly</span><br><span class="line">访问： https://fcmmm.xyz/</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>最终部署结构：</p><figure class="highlight text"><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">/www/wwwroot/fcmmm.xyz/</span><br><span class="line">├── main/        # Hexo 主站 public/ 目录里的内容</span><br></pre></td></tr></table></figure><p>Hexo 的静态构建产物默认生成在 <code>public/</code>，部署时应同步 <code>public/</code> 里的内容，而不是整个 Hexo 源码目录。(<a href="https://hexo.io/docs/generating?utm_source=chatgpt.com">Hexo</a>) GitHub Actions 里使用 <code>actions/checkout</code> 是为了把仓库代码检出到工作区，后续步骤才能构建或同步文件。(<a href="https://github.com/actions/checkout?utm_source=chatgpt.com">GitHub</a>) GitHub Secrets 用于保存 SSH 私钥、服务器 IP 等敏感信息。(<a href="https://docs.github.com/actions/security-guides/using-secrets-in-github-actions?utm_source=chatgpt.com">GitHub Docs</a>)</p><hr><h1 id="一、服务器目录准备"><a href="#一、服务器目录准备" class="headerlink" title="一、服务器目录准备"></a>一、服务器目录准备</h1><p>先用 <code>root</code> 登录服务器：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh root@<span class="number">114</span>.<span class="number">215</span>.<span class="number">125</span>.<span class="number">28</span></span><br></pre></td></tr></table></figure><p>进入服务器后执行：</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"><span class="built_in">mkdir</span> -p /www/wwwroot/fcmmm.xyz/main</span><br></pre></td></tr></table></figure><p>确认目录：</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"><span class="built_in">ls</span> -la /www/wwwroot/fcmmm.xyz/</span><br></pre></td></tr></table></figure><p>应该看到：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">main/</span><br></pre></td></tr></table></figure><hr><h1 id="二、创建-deploy-部署用户"><a href="#二、创建-deploy-部署用户" class="headerlink" title="二、创建 deploy 部署用户"></a>二、创建 deploy 部署用户</h1><p>仍然在服务器里执行：</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"><span class="built_in">id</span> deploy || useradd -m -s /bin/bash deploy</span><br></pre></td></tr></table></figure><p>创建 SSH 目录：</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></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> -p /home/deploy/.ssh</span><br><span class="line"><span class="built_in">touch</span> /home/deploy/.ssh/authorized_keys</span><br><span class="line"><span class="built_in">chown</span> -R deploy:deploy /home/deploy/.ssh</span><br><span class="line"><span class="built_in">chmod</span> 700 /home/deploy/.ssh</span><br><span class="line"><span class="built_in">chmod</span> 600 /home/deploy/.ssh/authorized_keys</span><br></pre></td></tr></table></figure><p>给网站目录权限：</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">chown</span> -R deploy:deploy /www/wwwroot/fcmmm.xyz</span><br><span class="line"><span class="built_in">chmod</span> -R 755 /www/wwwroot/fcmmm.xyz</span><br></pre></td></tr></table></figure><p>退出服务器：</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"><span class="built_in">exit</span></span><br></pre></td></tr></table></figure><hr><h1 id="三、Windows-本地生成-SSH-密钥"><a href="#三、Windows-本地生成-SSH-密钥" class="headerlink" title="三、Windows 本地生成 SSH 密钥"></a>三、Windows 本地生成 SSH 密钥</h1><p>在你的 Windows CMD 中执行：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh-keygen -t ed25519 -C &quot;github-actions-deploy-xxx&quot; -f github-actions-deploy-xxx</span><br></pre></td></tr></table></figure><p>生成两个文件：</p><figure class="highlight text"><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">github-actions-deploy-xxx       # 私钥，放 GitHub Secrets</span><br><span class="line">github-actions-deploy-xxx.pub   # 公钥，放服务器</span><br></pre></td></tr></table></figure><hr><h1 id="四、把公钥写入服务器"><a href="#四、把公钥写入服务器" class="headerlink" title="四、把公钥写入服务器"></a>四、把公钥写入服务器</h1><p>你是 Windows CMD，不能用 <code>cat</code>，要用 <code>type</code>。</p><p>执行：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">type</span> github-actions-deploy-xxx.pub | ssh root@<span class="number">114</span>.<span class="number">215</span>.<span class="number">125</span>.<span class="number">28</span> &quot;cat &gt;&gt; /home/deploy/.ssh/authorized_keys &amp;&amp; chown -R deploy:deploy /home/deploy/.ssh &amp;&amp; chmod <span class="number">700</span> /home/deploy/.ssh &amp;&amp; chmod <span class="number">600</span> /home/deploy/.ssh/authorized_keys&quot;</span><br></pre></td></tr></table></figure><p>然后测试：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh -i github-actions-deploy-xxx deploy@<span class="number">114</span>.<span class="number">215</span>.<span class="number">125</span>.<span class="number">28</span></span><br></pre></td></tr></table></figure><p>如果成功，会进入服务器，例如：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[deploy@xxx ~]$</span><br></pre></td></tr></table></figure><p>如果还是：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Permission denied (publickey,gssapi-keyex,gssapi-with-mic)</span><br></pre></td></tr></table></figure><p>说明密钥仍然没配置成功，需要检查：</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">cat</span> /home/deploy/.ssh/authorized_keys</span><br><span class="line"><span class="built_in">ls</span> -la /home/deploy/.ssh</span><br></pre></td></tr></table></figure><p>成功登录后退出：</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"><span class="built_in">exit</span></span><br></pre></td></tr></table></figure><hr><h1 id="五、宝塔-Nginx-配置"><a href="#五、宝塔-Nginx-配置" class="headerlink" title="五、宝塔 Nginx 配置"></a>五、宝塔 Nginx 配置</h1><p>进入宝塔面板：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">网站 → fcmmm.xyz → 设置 → 配置文件</span><br></pre></td></tr></table></figure><p>使用下面这份配置。它适配：</p><figure class="highlight text"><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><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br></pre></td><td class="code"><pre><span class="line">/www/wwwroot/fcmmm.xyz/main      → 主站</span><br><span class="line">server</span><br><span class="line">&#123;</span><br><span class="line">    listen 80;</span><br><span class="line">    listen 443 ssl;</span><br><span class="line">    listen 443 quic;</span><br><span class="line">    http2 on;</span><br><span class="line">    http3 on;</span><br><span class="line"></span><br><span class="line">    server_name fcmmm.xyz www.fcmmm.xyz;</span><br><span class="line"></span><br><span class="line">    # 主站根目录：Hexo + Butterfly 构建后的 public/ 内容</span><br><span class="line">    root /www/wwwroot/fcmmm.xyz/main;</span><br><span class="line">    index index.html index.htm default.htm default.html;</span><br><span class="line"></span><br><span class="line">    # 宝塔扩展配置</span><br><span class="line">    include /www/server/panel/vhost/nginx/extension/fcmmm.xyz/*.conf;</span><br><span class="line"></span><br><span class="line">    # CERT-APPLY-CHECK--START</span><br><span class="line">    include /www/server/panel/vhost/nginx/well-known/fcmmm.xyz.conf;</span><br><span class="line">    # CERT-APPLY-CHECK--END</span><br><span class="line"></span><br><span class="line">    # SSL-START</span><br><span class="line">    # error_page 404/404.html;</span><br><span class="line">    ssl_certificate        /www/server/panel/vhost/cert/fcmmm.xyz/fullchain.pem;</span><br><span class="line">    ssl_certificate_key    /www/server/panel/vhost/cert/fcmmm.xyz/privkey.pem;</span><br><span class="line">    ssl_protocols TLSv1.2 TLSv1.3;</span><br><span class="line">    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;</span><br><span class="line">    ssl_prefer_server_ciphers on;</span><br><span class="line">    ssl_session_tickets on;</span><br><span class="line">    ssl_session_cache shared:SSL:10m;</span><br><span class="line">    ssl_session_timeout 10m;</span><br><span class="line">    add_header Strict-Transport-Security &quot;max-age=31536000&quot;;</span><br><span class="line">    add_header Alt-Svc &#x27;quic=&quot;:443&quot;; h3=&quot;:443&quot;; h3-29=&quot;:443&quot;; h3-27=&quot;:443&quot;; h3-25=&quot;:443&quot;; h3-T050=&quot;:443&quot;; h3-Q050=&quot;:443&quot;; h3-Q049=&quot;:443&quot;; h3-Q048=&quot;:443&quot;; h3-Q046=&quot;:443&quot;; h3-Q043=&quot;:443&quot;&#x27;;</span><br><span class="line">    quic_retry on;</span><br><span class="line">    quic_gso on;</span><br><span class="line">    ssl_early_data on;</span><br><span class="line">    error_page 497 https://$host$request_uri;</span><br><span class="line">    # SSL-END</span><br><span class="line"></span><br><span class="line">    # ERROR-PAGE-START</span><br><span class="line">    # error_page 404 /404.html;</span><br><span class="line">    # error_page 502 /502.html;</span><br><span class="line">    # ERROR-PAGE-END</span><br><span class="line"></span><br><span class="line">    # REWRITE-START</span><br><span class="line">    include /www/server/panel/vhost/rewrite/html_fcmmm.xyz.conf;</span><br><span class="line">    # REWRITE-END</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">    # Hexo 主站</span><br><span class="line">    location / &#123;</span><br><span class="line">        try_files $uri $uri/ /index.html;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    # 静态资源缓存</span><br><span class="line">    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp|woff|woff2|ttf|eot)$ &#123;</span><br><span class="line">        expires 30d;</span><br><span class="line">        add_header Cache-Control &quot;public&quot;;</span><br><span class="line">        try_files $uri =404;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    # 禁止访问敏感文件</span><br><span class="line">    location ~* (\.user.ini|\.htaccess|\.htpasswd|\.env.*|\.project|\.bashrc|\.bash_profile|\.bash_logout|\.DS_Store|\.gitignore|\.gitattributes|LICENSE|README\.md|CLAUDE\.md|CHANGELOG\.md|CHANGELOG|CONTRIBUTING\.md|TODO\.md|FAQ\.md|composer\.json|composer\.lock|package(-lock)?\.json|yarn\.lock|pnpm-lock\.yaml|\.\w+~|\.swp|\.swo|\.bak(up)?|\.old|\.tmp|\.temp|\.log|\.sql(\.gz)?|docker-compose\.yml|docker\.env|Dockerfile|\.csproj|\.sln|Cargo\.toml|Cargo\.lock|go\.mod|go\.sum|phpunit\.xml|pom\.xml|build\.gradl|pyproject\.toml|requirements\.txt|application(-\w+)?\.(ya?ml|properties))$</span><br><span class="line">    &#123;</span><br><span class="line">        return 404;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    # 禁止访问敏感目录</span><br><span class="line">    location ~* /(\.git|\.svn|\.bzr|\.vscode|\.claude|\.idea|\.ssh|\.github|\.npm|\.yarn|\.pnpm|\.cache|\.husky|\.turbo|\.next|\.nuxt|node_modules|runtime)/ &#123;</span><br><span class="line">        return 404;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    # SSL 验证目录</span><br><span class="line">    location ~ \.well-known &#123;</span><br><span class="line">        allow all;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    if ( $uri ~ &quot;^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$&quot; ) &#123;</span><br><span class="line">        return 403;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    access_log  /www/wwwlogs/fcmmm.xyz.log;</span><br><span class="line">    error_log   /www/wwwlogs/fcmmm.xyz.error.log;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>保存后 SSH 执行：</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">nginx -t</span><br><span class="line">systemctl reload nginx</span><br></pre></td></tr></table></figure><hr><h1 id="六、主项目-Hexo-Butterfly-配置"><a href="#六、主项目-Hexo-Butterfly-配置" class="headerlink" title="六、主项目 Hexo + Butterfly 配置"></a>六、主项目 Hexo + Butterfly 配置</h1><p>在 <code>xxx.github.io</code> 仓库的 <code>_config.yml</code> 中确认：</p><figure class="highlight yaml"><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="attr">url:</span> <span class="string">https://fcmmm.xyz</span></span><br><span class="line"><span class="attr">root:</span> <span class="string">/</span></span><br></pre></td></tr></table></figure><p>root: &#x2F;fcmlove&#x2F;</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></pre></td><td class="code"><pre><span class="line">npm install</span><br><span class="line">npx hexo clean</span><br><span class="line">npx hexo generate</span><br></pre></td></tr></table></figure><p>构建后会生成：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">public/</span><br></pre></td></tr></table></figure><p>服务器最终应该是：</p><figure class="highlight text"><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">/www/wwwroot/fcmmm.xyz/main/index.html</span><br><span class="line">/www/wwwroot/fcmmm.xyz/main/archives/</span><br><span class="line">/www/wwwroot/fcmmm.xyz/main/css/</span><br><span class="line">/www/wwwroot/fcmmm.xyz/main/js/</span><br></pre></td></tr></table></figure><hr><h1 id="七、GitHub-Secrets-配置"><a href="#七、GitHub-Secrets-配置" class="headerlink" title="七、GitHub Secrets 配置"></a>七、GitHub Secrets 配置</h1><p>仓库添加 Secrets：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">xxx.github.io</span><br></pre></td></tr></table></figure><p>进入仓库：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Settings → Secrets and variables → Actions → New repository secret</span><br></pre></td></tr></table></figure><p>添加：</p><figure class="highlight text"><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">ALIYUN_HOST       114.215.125.28</span><br><span class="line">ALIYUN_USER       deploy</span><br><span class="line">ALIYUN_PORT       22</span><br><span class="line">ALIYUN_SSH_KEY    github-actions-deploy-xxx 私钥完整内容</span><br></pre></td></tr></table></figure><p>注意：</p><p><code>ALIYUN_SSH_KEY</code> 填的是私钥，不是 <code>.pub</code> 公钥。</p><p>在 Windows CMD 查看私钥内容：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">type</span> github-actions-deploy-xxx</span><br></pre></td></tr></table></figure><p>复制完整内容，包含：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">-----BEGIN OPENSSH PRIVATE KEY-----</span><br><span class="line">...</span><br><span class="line">-----END OPENSSH PRIVATE KEY-----</span><br></pre></td></tr></table></figure><hr><h1 id="八、主项目-xxx-github-io-的-GitHub-Actions"><a href="#八、主项目-xxx-github-io-的-GitHub-Actions" class="headerlink" title="八、主项目 xxx.github.io 的 GitHub Actions"></a>八、主项目 xxx.github.io 的 GitHub Actions</h1><p>在 <code>xxx.github.io</code> 仓库中新建：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">.github/workflows/deploy.yml</span><br></pre></td></tr></table></figure><p>内容：</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><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">Hexo</span> <span class="string">Main</span> <span class="string">Site</span> <span class="string">to</span> <span class="string">Aliyun</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [<span class="string">main</span>]</span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build-and-deploy:</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span></span><br><span class="line"></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Checkout</span> <span class="string">source</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">submodules:</span> <span class="string">recursive</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Setup</span> <span class="string">Node.js</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/setup-node@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">node-version:</span> <span class="number">20</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Install</span> <span class="string">dependencies</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">npm</span> <span class="string">install</span></span><br><span class="line"></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Build</span> <span class="string">Hexo</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          npx hexo clean</span></span><br><span class="line"><span class="string">          npx hexo generate</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Configure</span> <span class="string">SSH</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          mkdir -p ~/.ssh</span></span><br><span class="line"><span class="string">          echo &quot;$&#123;&#123; secrets.ALIYUN_SSH_KEY &#125;&#125;&quot; &gt; ~/.ssh/id_ed25519</span></span><br><span class="line"><span class="string">          chmod 600 ~/.ssh/id_ed25519</span></span><br><span class="line"><span class="string">          ssh-keyscan -H -p &quot;$&#123;&#123; secrets.ALIYUN_PORT &#125;&#125;&quot; &quot;$&#123;&#123; secrets.ALIYUN_HOST &#125;&#125;&quot; &gt;&gt; ~/.ssh/known_hosts</span></span><br><span class="line"><span class="string"></span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">to</span> <span class="string">Aliyun</span></span><br><span class="line">        <span class="attr">run:</span> <span class="string">|</span></span><br><span class="line"><span class="string">          rsync -az --delete \</span></span><br><span class="line"><span class="string">            -e &quot;ssh -p $&#123;&#123; secrets.ALIYUN_PORT &#125;&#125;&quot; \</span></span><br><span class="line"><span class="string">            public/ \</span></span><br><span class="line"><span class="string">            $&#123;&#123; secrets.ALIYUN_USER &#125;&#125;@$&#123;&#123; secrets.ALIYUN_HOST &#125;&#125;:/www/wwwroot/fcmmm.xyz/main/</span></span><br></pre></td></tr></table></figure><p>如果你的主分支是 <code>master</code>，把：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">branches:</span> [<span class="string">main</span>]</span><br></pre></td></tr></table></figure><p>改成：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">branches:</span> [<span class="string">master</span>]</span><br></pre></td></tr></table></figure><hr><h1 id="九、手动测试部署是否成功"><a href="#九、手动测试部署是否成功" class="headerlink" title="九、手动测试部署是否成功"></a>九、手动测试部署是否成功</h1><p>仓库 push 后，去 GitHub 仓库查看：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Actions → Deploy ...</span><br></pre></td></tr></table></figure><p>如果显示绿色成功，再登录服务器检查：</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"><span class="built_in">ls</span> -la /www/wwwroot/fcmmm.xyz/main/</span><br></pre></td></tr></table></figure><p>必须看到：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">/www/wwwroot/fcmmm.xyz/main/index.html</span><br></pre></td></tr></table></figure><p>然后测试 Nginx：</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">nginx -t</span><br><span class="line">systemctl reload nginx</span><br></pre></td></tr></table></figure><p>浏览器访问：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">https://fcmmm.xyz/</span><br></pre></td></tr></table></figure><hr><h1 id="十、完整操作顺序"><a href="#十、完整操作顺序" class="headerlink" title="十、完整操作顺序"></a>十、完整操作顺序</h1><p>按这个顺序做：</p><figure class="highlight text"><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><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">1. 宝塔创建 fcmmm.xyz 网站</span><br><span class="line">2. 创建 /www/wwwroot/fcmmm.xyz/main/</span><br><span class="line">3. 配置宝塔 Nginx</span><br><span class="line">4. nginx -t</span><br><span class="line">5. systemctl reload nginx</span><br><span class="line">6. 创建 deploy 用户</span><br><span class="line">7. 配置 deploy 的 SSH 公钥</span><br><span class="line">8. 本地确认 ssh -i github-actions-deploy-xxx deploy@114.215.125.28 能登录</span><br><span class="line">9. 给 /www/wwwroot/fcmmm.xyz 授权给 deploy</span><br><span class="line">10. 两个 GitHub 仓库分别添加 Secrets</span><br><span class="line">11. xxx.github.io 添加 Hexo 部署 workflow</span><br><span class="line">12. push 仓库</span><br><span class="line">13. 检查 GitHub Actions 是否成功</span><br><span class="line">14. 访问 fcmmm.xyz</span><br></pre></td></tr></table></figure><hr><h1 id="十三、常见问题"><a href="#十三、常见问题" class="headerlink" title="十三、常见问题"></a>十三、常见问题</h1><h2 id="1-deploy-密钥登录失败"><a href="#1-deploy-密钥登录失败" class="headerlink" title="1. deploy 密钥登录失败"></a>1. <code>deploy</code> 密钥登录失败</h2><p>如果：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh -i github-actions-deploy-xxx deploy@<span class="number">114</span>.<span class="number">215</span>.<span class="number">125</span>.<span class="number">28</span></span><br></pre></td></tr></table></figure><p>报：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">Permission denied</span><br></pre></td></tr></table></figure><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></pre></td><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> -p /home/deploy/.ssh</span><br><span class="line"><span class="built_in">touch</span> /home/deploy/.ssh/authorized_keys</span><br><span class="line"><span class="built_in">chown</span> -R deploy:deploy /home/deploy/.ssh</span><br><span class="line"><span class="built_in">chmod</span> 700 /home/deploy/.ssh</span><br><span class="line"><span class="built_in">chmod</span> 600 /home/deploy/.ssh/authorized_keys</span><br></pre></td></tr></table></figure><p>然后 Windows CMD 再执行：</p><figure class="highlight bat"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">type</span> github-actions-deploy-xxx.pub | ssh root@<span class="number">114</span>.<span class="number">215</span>.<span class="number">125</span>.<span class="number">28</span> &quot;cat &gt;&gt; /home/deploy/.ssh/authorized_keys &amp;&amp; chown -R deploy:deploy /home/deploy/.ssh &amp;&amp; chmod <span class="number">700</span> /home/deploy/.ssh &amp;&amp; chmod <span class="number">600</span> /home/deploy/.ssh/authorized_keys&quot;</span><br></pre></td></tr></table></figure><hr><h2 id="2-GitHub-Actions-报-Permission-denied"><a href="#2-GitHub-Actions-报-Permission-denied" class="headerlink" title="2. GitHub Actions 报 Permission denied"></a>2. GitHub Actions 报 <code>Permission denied</code></h2><p>服务器执行：</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">chown</span> -R deploy:deploy /www/wwwroot/fcmmm.xyz</span><br><span class="line"><span class="built_in">chmod</span> -R 755 /www/wwwroot/fcmmm.xyz</span><br></pre></td></tr></table></figure><hr><hr><h2 id="最终结果"><a href="#最终结果" class="headerlink" title="最终结果"></a>最终结果</h2><figure class="highlight text"><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></pre></td><td class="code"><pre><span class="line">→ GitHub Actions 构建 Hexo</span><br><span class="line">→ public/</span><br><span class="line">→ /www/wwwroot/fcmmm.xyz/main/</span><br><span class="line">→ https://fcmmm.xyz/</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>只要 <code>deploy</code> 用户能用密钥登录，并且两个仓库的 Secrets 配置正确，之后每次 push 到 GitHub，都会自动部署到阿里云服务器。</p>]]>
    </content>
    <id>https://fcmmm.xyz/p/3479128065/</id>
    <link href="https://fcmmm.xyz/p/3479128065/"/>
    <published>2026-06-16T12:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="今天把项目部署在了阿里云服务器上阿里云服务器300元优惠券，大体过程："><a href="#今天把项目部署在了阿里云服务器上阿里云服务器300元优惠券，大体过程：" class="headerlink"]]>
    </summary>
    <title>将项目部署至服务器</title>
    <updated>2026-07-15T08:35:35.487Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="小记" scheme="https://fcmmm.xyz/categories/%E5%B0%8F%E8%AE%B0/"/>
    <category term="开发心得" scheme="https://fcmmm.xyz/tags/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/"/>
    <content>
      <![CDATA[<h2 id="功能更新"><a href="#功能更新" class="headerlink" title="功能更新"></a>功能更新</h2><p>1.新增登录功能，这样就可以在移动端发布文章，解决只能在pc端发布部署。访问<a href="https://www.fcmmm.xyz/admin">管理员登录</a>登录后台</p><p>2.完善音乐页面，通过网易云api获取音乐列表，实现音乐播放功能<br><img src="/img/uploads/1780655700522_earth.png"></p>]]>
    </content>
    <id>https://fcmmm.xyz/p/2229667824/</id>
    <link href="https://fcmmm.xyz/p/2229667824/"/>
    <published>2026-06-05T10:29:02.000Z</published>
    <summary>
      <![CDATA[<h2 id="功能更新"><a href="#功能更新" class="headerlink" title="功能更新"></a>功能更新</h2><p>1.新增登录功能，这样就可以在移动端发布文章，解决只能在pc端发布部署。访问<a]]>
    </summary>
    <title>6.5随记</title>
    <updated>2026-07-15T08:35:35.487Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="生活记录" scheme="https://fcmmm.xyz/categories/%E7%94%9F%E6%B4%BB%E8%AE%B0%E5%BD%95/"/>
    <category term="开发心得" scheme="https://fcmmm.xyz/tags/%E5%BC%80%E5%8F%91%E5%BF%83%E5%BE%97/"/>
    <category term="Vibe Coding" scheme="https://fcmmm.xyz/tags/Vibe-Coding/"/>
    <category term="Claude Code" scheme="https://fcmmm.xyz/tags/Claude-Code/"/>
    <category term="AI" scheme="https://fcmmm.xyz/tags/AI/"/>
    <category term="DeepSeek" scheme="https://fcmmm.xyz/tags/DeepSeek/"/>
    <category term="编程" scheme="https://fcmmm.xyz/tags/%E7%BC%96%E7%A8%8B/"/>
    <content>
      <![CDATA[<p>这个网站——从 Hexo 框架搭建、Butterfly 主题配置、文章的生成、评论系统（Giscus）接入、到 GitHub Pages + 阿里云自定义域名部署——<strong>大部分由 Claude Code + DeepSeek V4 Pro 在约两小时内完成</strong>。</p><hr><blockquote><p>参考链接：<a href="https://mp.weixin.qq.com/s/AYRrX3ggXU8fYl5Q_9WQ6g?scene=1">安装 Claude Code + 接入DeepSeek V4 + VSCode中使用（无坑版）</a></p></blockquote>]]>
    </content>
    <id>https://fcmmm.xyz/p/vibe-coding-reflection/</id>
    <link href="https://fcmmm.xyz/p/vibe-coding-reflection/"/>
    <published>2026-05-28T01:20:00.000Z</published>
    <summary>
      <![CDATA[<p>这个网站——从 Hexo 框架搭建、Butterfly 主题配置、文章的生成、评论系统（Giscus）接入、到 GitHub Pages + 阿里云自定义域名部署——<strong>大部分由 Claude Code + DeepSeek V4 Pro]]>
    </summary>
    <title>博客介绍</title>
    <updated>2026-07-15T08:35:35.485Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="开发工具" scheme="https://fcmmm.xyz/categories/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/"/>
    <category term="Git" scheme="https://fcmmm.xyz/tags/Git/"/>
    <category term="版本控制" scheme="https://fcmmm.xyz/tags/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6/"/>
    <category term="教程" scheme="https://fcmmm.xyz/tags/%E6%95%99%E7%A8%8B/"/>
    <content>
      <![CDATA[<h2 id="为什么需要-Git-工作流？"><a href="#为什么需要-Git-工作流？" class="headerlink" title="为什么需要 Git 工作流？"></a>为什么需要 Git 工作流？</h2><p>Git 是当今最流行的分布式版本控制系统。了解并遵循 Git 工作流程最佳实践，可以帮助团队更好地协作，减少合并冲突，保持提交历史的清晰。</p><h2 id="常见-Git-工作流"><a href="#常见-Git-工作流" class="headerlink" title="常见 Git 工作流"></a>常见 Git 工作流</h2><h3 id="1-Git-Flow"><a href="#1-Git-Flow" class="headerlink" title="1. Git Flow"></a>1. Git Flow</h3><p>Git Flow 是最经典的 Git 工作流，由 Vincent Driessen 提出。</p><p>核心分支：</p><ul><li><strong>main</strong>：生产环境代码</li><li><strong>develop</strong>：开发分支，集成所有功能</li><li><strong>feature&#x2F;xxx</strong>：功能分支</li><li><strong>release&#x2F;xxx</strong>：发布分支</li><li><strong>hotfix&#x2F;xxx</strong>：热修复分支</li></ul><h3 id="2-GitHub-Flow"><a href="#2-GitHub-Flow" class="headerlink" title="2. GitHub Flow"></a>2. GitHub Flow</h3><p>更加简单的工作流，适合持续部署：</p><ul><li><strong>main</strong>：始终可部署</li><li><strong>feature&#x2F;xxx</strong>：从 main 创建，完成后发起 PR</li></ul><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><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 创建功能分支</span></span><br><span class="line">git checkout -b feature/my-feature</span><br><span class="line"></span><br><span class="line"><span class="comment"># 开发并提交</span></span><br><span class="line">git add .</span><br><span class="line">git commit -m <span class="string">&quot;feat: add new feature&quot;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 推送到远程</span></span><br><span class="line">git push origin feature/my-feature</span><br></pre></td></tr></table></figure><h3 id="3-GitLab-Flow"><a href="#3-GitLab-Flow" class="headerlink" title="3. GitLab Flow"></a>3. GitLab Flow</h3><p>结合了 Git Flow 和 GitHub Flow 的优点。</p><h2 id="最佳实践"><a href="#最佳实践" class="headerlink" title="最佳实践"></a>最佳实践</h2><h3 id="Commit-规范"><a href="#Commit-规范" class="headerlink" title="Commit 规范"></a>Commit 规范</h3><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">feat: 新功能</span><br><span class="line">fix: 修复 bug</span><br><span class="line">docs: 文档更新</span><br><span class="line">style: 代码格式（不影响运行）</span><br><span class="line">refactor: 重构</span><br><span class="line"><span class="built_in">test</span>: 测试相关</span><br><span class="line">chore: 构建/工具变更</span><br></pre></td></tr></table></figure><h3 id="提交频率"><a href="#提交频率" class="headerlink" title="提交频率"></a>提交频率</h3><ul><li>小步提交，频繁推送</li><li>每个 commit 只做一件事</li><li>写清晰的 commit message</li></ul><h3 id="分支管理"><a href="#分支管理" class="headerlink" title="分支管理"></a>分支管理</h3><ul><li>及时删除已合并的分支</li><li>保持分支命名规范</li><li>定期同步主分支</li></ul>]]>
    </content>
    <id>https://fcmmm.xyz/p/129012965/</id>
    <link href="https://fcmmm.xyz/p/129012965/"/>
    <published>2026-05-28T00:30:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="为什么需要-Git-工作流？"><a href="#为什么需要-Git-工作流？" class="headerlink" title="为什么需要 Git 工作流？"></a>为什么需要 Git 工作流？</h2><p>Git]]>
    </summary>
    <title>Git 工作流程最佳实践</title>
    <updated>2026-07-15T08:35:35.485Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="信息技术" scheme="https://fcmmm.xyz/categories/%E4%BF%A1%E6%81%AF%E6%8A%80%E6%9C%AF/"/>
    <category term="开源软件" scheme="https://fcmmm.xyz/tags/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6/"/>
    <category term="技术论坛" scheme="https://fcmmm.xyz/tags/%E6%8A%80%E6%9C%AF%E8%AE%BA%E5%9D%9B/"/>
    <category term="提问技巧" scheme="https://fcmmm.xyz/tags/%E6%8F%90%E9%97%AE%E6%8A%80%E5%B7%A7/"/>
    <content>
      <![CDATA[<h2 id="转载声明"><a href="#转载声明" class="headerlink" title="转载声明"></a>转载声明</h2><p>以下内容转自 How-To-Ask-Questions-The-Smart-Way，纯作用于中国大陆境内加速访问，侵联删！</p><h2 id="提问的智慧"><a href="#提问的智慧" class="headerlink" title="提问的智慧"></a>提问的智慧</h2><p><strong>How To Ask Questions The Smart Way</strong></p><p>Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen</p><h3 id="引言"><a href="#引言" class="headerlink" title="引言"></a>引言</h3><p>在技术社区中，如何提出一个有效的问题是一门艺术。好的问题能更快地得到解答，也能让帮助你的人更加愉快。</p><h3 id="提问前"><a href="#提问前" class="headerlink" title="提问前"></a>提问前</h3><p>在提问之前，请先尝试：</p><ol><li>阅读文档和手册</li><li>搜索互联网（Google、Stack Overflow 等）</li><li>阅读 FAQ（常见问题解答）</li><li>自己检查和实验</li><li>阅读源代码</li></ol><h3 id="提问时"><a href="#提问时" class="headerlink" title="提问时"></a>提问时</h3><p>一个好的问题应该包含：</p><ul><li><strong>清晰描述问题</strong>：发生了什么？你期望发生什么？</li><li><strong>提供上下文</strong>：你正在使用的环境、版本信息</li><li><strong>展示你已尝试的解决方案</strong>：这显示了你的努力</li><li><strong>最小复现用例</strong>：让别人能快速理解你的问题</li></ul><h3 id="如何解读回答"><a href="#如何解读回答" class="headerlink" title="如何解读回答"></a>如何解读回答</h3><p>当别人回答你的问题时：</p><ul><li>仔细阅读并思考</li><li>如果回答不清晰，礼貌地请求澄清</li><li>如果解决了问题，请感谢并标记为已解决</li></ul><blockquote><p>记住：回答你问题的人是自愿花费时间的，请尊重他们。</p></blockquote>]]>
    </content>
    <id>https://fcmmm.xyz/p/4214764277/</id>
    <link href="https://fcmmm.xyz/p/4214764277/"/>
    <published>2026-05-28T00:10:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="转载声明"><a href="#转载声明" class="headerlink" title="转载声明"></a>转载声明</h2><p>以下内容转自]]>
    </summary>
    <title>提问的智慧</title>
    <updated>2026-07-15T08:35:35.485Z</updated>
  </entry>
  <entry>
    <author>
      <name>Jta</name>
    </author>
    <category term="技术文档" scheme="https://fcmmm.xyz/categories/%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3/"/>
    <category term="教程" scheme="https://fcmmm.xyz/tags/%E6%95%99%E7%A8%8B/"/>
    <category term="Markdown" scheme="https://fcmmm.xyz/tags/Markdown/"/>
    <category term="Hexo" scheme="https://fcmmm.xyz/tags/Hexo/"/>
    <category term="代码块" scheme="https://fcmmm.xyz/tags/%E4%BB%A3%E7%A0%81%E5%9D%97/"/>
    <content>
      <![CDATA[<h2 id="Markdown-语法自带格式"><a href="#Markdown-语法自带格式" class="headerlink" title="Markdown 语法自带格式"></a>Markdown 语法自带格式</h2><p>参考：<a href="https://www.example.com/">Markdown 语法图文全面详解(10 分钟学会)</a></p><blockquote><p>注意：此页面偶尔会存在 CSS 冲突问题!</p></blockquote><h3 id="代码块"><a href="#代码块" class="headerlink" title="代码块"></a>代码块</h3><p><strong>示例源码渲染演示：</strong></p><figure class="highlight sh"><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><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># VSCode终端</span></span><br><span class="line">hexo clean; hexo s</span><br><span class="line">hexo clean; hexo g; hexo d</span><br><span class="line">git add .; git commit -m <span class="string">&quot;npm publish&quot;</span>; npm version patch; git push</span><br><span class="line"></span><br><span class="line"><span class="comment"># Cmder终端</span></span><br><span class="line">hexo clean &amp;&amp; hexo s</span><br><span class="line">hexo clean &amp;&amp; hexo g &amp;&amp; hexo d</span><br><span class="line">git add . &amp;&amp; git commit -m <span class="string">&quot;npm publish&quot;</span> &amp;&amp; npm version patch</span><br></pre></td></tr></table></figure><h3 id="标题"><a href="#标题" class="headerlink" title="标题"></a>标题</h3><h1 id="一级标题"><a href="#一级标题" class="headerlink" title="一级标题"></a>一级标题</h1><h2 id="二级标题"><a href="#二级标题" class="headerlink" title="二级标题"></a>二级标题</h2><h3 id="三级标题"><a href="#三级标题" class="headerlink" title="三级标题"></a>三级标题</h3><h4 id="四级标题"><a href="#四级标题" class="headerlink" title="四级标题"></a>四级标题</h4><h5 id="五级标题"><a href="#五级标题" class="headerlink" title="五级标题"></a>五级标题</h5><h6 id="六级标题"><a href="#六级标题" class="headerlink" title="六级标题"></a>六级标题</h6><h3 id="文本样式"><a href="#文本样式" class="headerlink" title="文本样式"></a>文本样式</h3><p><em>这是斜体文字</em></p><p><strong>这是粗体文字</strong></p><p><del>这是删除线文字</del></p><p><code>这是行内代码</code></p><h3 id="列表"><a href="#列表" class="headerlink" title="列表"></a>列表</h3><h4 id="无序列表"><a href="#无序列表" class="headerlink" title="无序列表"></a>无序列表</h4><ul><li>项目一</li><li>项目二<ul><li>嵌套项目</li><li>嵌套项目二</li></ul></li><li>项目三</li></ul><h4 id="有序列表"><a href="#有序列表" class="headerlink" title="有序列表"></a>有序列表</h4><ol><li>第一步</li><li>第二步</li><li>第三步</li></ol><h3 id="链接与图片"><a href="#链接与图片" class="headerlink" title="链接与图片"></a>链接与图片</h3><p><a href="https://hexo.io/">这是一个链接</a></p><h3 id="引用"><a href="#引用" class="headerlink" title="引用"></a>引用</h3><blockquote><p>这是一段引用文字<br>可以多行显示</p></blockquote><h3 id="表格"><a href="#表格" class="headerlink" title="表格"></a>表格</h3><table><thead><tr><th align="left">左对齐</th><th align="center">居中</th><th align="right">右对齐</th></tr></thead><tbody><tr><td align="left">内容A</td><td align="center">内容B</td><td align="right">内容C</td></tr><tr><td align="left">内容D</td><td align="center">内容E</td><td align="right">内容F</td></tr></tbody></table><hr><p>以上就是常用的 Markdown 语法汇总，日常写作时可以参考使用。</p>]]>
    </content>
    <id>https://fcmmm.xyz/p/455384546/</id>
    <link href="https://fcmmm.xyz/p/455384546/"/>
    <published>2026-05-28T00:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="Markdown-语法自带格式"><a href="#Markdown-语法自带格式" class="headerlink" title="Markdown 语法自带格式"></a>Markdown 语法自带格式</h2><p>参考：<a]]>
    </summary>
    <title>Markdown 语法与外置标签写法汇总</title>
    <updated>2026-05-28T00:00:00.000Z</updated>
  </entry>
</feed>
