<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>博客 on Hanabi</title><link>https://kurobakaitou.github.io/docs/blog/</link><description>Recent content in 博客 on Hanabi</description><generator>Hugo</generator><language>zh-CN</language><copyright>© 2020-2026 Hanabi</copyright><lastBuildDate>Mon, 31 Aug 2026 03:02:38 +0800</lastBuildDate><atom:link href="https://kurobakaitou.github.io/docs/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub 上如何提交 Pull Request</title><link>https://kurobakaitou.github.io/docs/blog/github-pull-request/</link><pubDate>Wed, 27 May 2026 15:00:22 +0800</pubDate><guid>https://kurobakaitou.github.io/docs/blog/github-pull-request/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;&#10;&lt;p&gt;Pull Request（简称 PR）是 GitHub 协作的核心功能。它允许你向别人的仓库提交代码修改，请求项目维护者合并你的变更。无论你是参与开源项目，还是在团队协作中走 Code Review 流程，提交 PR 都是一项基本功。&lt;/p&gt;&#10;&lt;p&gt;本文从零开始，用一个完整的示例带你走一遍提交 PR 的全流程。&lt;/p&gt;&#10;&lt;h2 id="前置准备"&gt;前置准备&lt;/h2&gt;&#10;&lt;p&gt;在开始之前，确保你已经：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;有一个 &#13;&#10;&#13;&#10;&lt;a class="link link--text" href="https://github.com" rel="external"&gt;GitHub&lt;/a&gt; 账号&lt;/li&gt;&#10;&lt;li&gt;本地安装了 Git（命令行输入 &lt;code&gt;git --version&lt;/code&gt; 验证）&lt;/li&gt;&#10;&lt;li&gt;配置了 Git 的用户名和邮箱：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;div class="expressive-code"&gt;&#13;&#10; &lt;figure class="frame is-terminal not-content"&gt;&#13;&#10; &lt;figcaption class="header"&gt;&#13;&#10; &lt;span class="title"&gt;&lt;/span&gt;&#13;&#10; &lt;/figcaption&gt;&#13;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.name &lt;span class="s2"&gt;&amp;#34;你的用户名&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.email &lt;span class="s2"&gt;&amp;#34;你的邮箱@example.com&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#13;&#10; &lt;/figure&gt;&#13;&#10;&lt;/div&gt;&#13;&#10;&lt;h2 id="第一步fork-目标仓库"&gt;第一步：Fork 目标仓库&lt;/h2&gt;&#10;&lt;p&gt;假设你想参与贡献的仓库为 &lt;code&gt;https://github.com/gohugoio/hugo&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;打开该仓库页面，点击右上角的 &lt;strong&gt;Fork&lt;/strong&gt; 按钮。&lt;/p&gt;&#10;&lt;p&gt;&#13;&#10;&#13;&#10;&lt;img&#13;&#10; src="https://kurobakaitou.github.io/docs/screen/fork-button_hu_a265fe1a47ea69f9.webp"&#13;&#10; width="1920"&#13;&#10; height="919"&#13;&#10; decoding="async"&#13;&#10; fetchpriority="auto"&#13;&#10; loading="lazy"&#13;&#10; alt="Fork 按钮位置"&#13;&#10; id="h-rh-i-0"&#13;&#10;&gt;&lt;/p&gt;&#10;&lt;div class="callout callout-tip d-flex flex-row mt-4 mb-4 pt-4 pe-4 pb-2 ps-3"&gt;&#13;&#10; &#13;&#10; &lt;div class="callout-content"&gt;&#13;&#10; &lt;div class="callout-title"&gt;&#13;&#10; &lt;p&gt;Fork 的作用&lt;/p&gt;&#10;&#13;&#10; &lt;/div&gt;&#13;&#10; &lt;div class="callout-body"&gt;&#13;&#10; &lt;p&gt;Fork 会在你的 GitHub 账号下创建一份该仓库的独立副本。你拥有这个副本的读写权限，可以在上面任意修改而不影响原仓库。&lt;/p&gt;&#10;&#13;&#10; &lt;/div&gt;&#13;&#10; &lt;/div&gt;&#13;&#10;&lt;/div&gt;&#13;&#10;&#10;&lt;p&gt;点击后 GitHub 会询问 Fork 的归属（个人账号或组织），选择你的个人账号即可。几秒钟后，你就会被重定向到你账号下的仓库副本，URL 会变为：&lt;/p&gt;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;div class="expressive-code"&gt;&#13;&#10; &lt;figure class="frame not-content"&gt;&#13;&#10; &lt;figcaption class="header"&gt;&#13;&#10; &lt;span class="title"&gt;&lt;/span&gt;&#13;&#10; &lt;/figcaption&gt;&#13;&#10; &lt;pre tabindex="0"&gt;&lt;code&gt;https://github.com/你的用户名/某项目&lt;/code&gt;&lt;/pre&gt;&#13;&#10; &lt;/figure&gt;&#13;&#10;&lt;/div&gt;&#13;&#10;&lt;h2 id="第二步克隆到本地"&gt;第二步：克隆到本地&lt;/h2&gt;&#10;&lt;p&gt;将 Fork 后的仓库克隆到本地：&lt;/p&gt;</description></item><item><title>Windows 通过 ZIP 包安装 MySQL 服务</title><link>https://kurobakaitou.github.io/docs/blog/install-mysql/</link><pubDate>Wed, 27 May 2026 15:00:22 +0800</pubDate><guid>https://kurobakaitou.github.io/docs/blog/install-mysql/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;&#10;&lt;p&gt;在 Windows 上安装 MySQL，官方提供了两种方式：&lt;strong&gt;MSI 安装包&lt;/strong&gt; 和 &lt;strong&gt;ZIP 压缩包&lt;/strong&gt;。MSI 虽然图形化操作简单，但安装过程不够透明，卸载残留多，且不方便管理多个版本。ZIP 包安装则更加灵活——解压即用、便于版本切换、完全掌握目录结构。本文将以 &lt;strong&gt;MySQL 8.4&lt;/strong&gt; 为例，带你完整走一遍 ZIP 包安装的全流程。&lt;/p&gt;&#10;&lt;h2 id="一下载-mysql"&gt;一、下载 MySQL&lt;/h2&gt;&#10;&lt;p&gt;访问 &#13;&#10;&#13;&#10;&lt;a class="link link--text" href="https://dev.mysql.com/downloads/mysql/" rel="external"&gt;MySQL 官方下载页&lt;/a&gt;，选择 &lt;strong&gt;Windows (x86, 64-bit), ZIP Archive&lt;/strong&gt; 版本下载。&lt;/p&gt;&#10;&lt;div class="callout callout-tip d-flex flex-row mt-4 mb-4 pt-4 pe-4 pb-2 ps-3"&gt;&#13;&#10; &#13;&#10; &lt;div class="callout-content"&gt;&#13;&#10; &lt;div class="callout-title"&gt;&#13;&#10; &lt;p&gt;选择版本&lt;/p&gt;&#10;&#13;&#10; &lt;/div&gt;&#13;&#10; &lt;div class="callout-body"&gt;&#13;&#10; &lt;p&gt;建议选择 &lt;strong&gt;MySQL 8.0&lt;/strong&gt; 或 &lt;strong&gt;MySQL 8.4 LTS&lt;/strong&gt; 版本。8.0 是目前最广泛的稳定版，8.4 是较新的 LTS 长期支持版。如果用于生产环境，优先选择 LTS 版本。&lt;/p&gt;&#10;&#13;&#10; &lt;/div&gt;&#13;&#10; &lt;/div&gt;&#13;&#10;&lt;/div&gt;&#13;&#10;&#10;&lt;p&gt;下载完成后得到一个 &lt;code&gt;.zip&lt;/code&gt; 文件，文件名类似 &lt;code&gt;mysql-8.4.0-winx64.zip&lt;/code&gt;。&lt;/p&gt;&#10;&lt;h2 id="二解压与目录结构"&gt;二、解压与目录结构&lt;/h2&gt;&#10;&lt;p&gt;将 ZIP 包解压到目标安装目录，例如 &lt;code&gt;D:\dev\mysql-8.4.0&lt;/code&gt;。&lt;/p&gt;&#10;&lt;p&gt;解压后的目录结构大致如下：&lt;/p&gt;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;div class="expressive-code"&gt;&#13;&#10; &lt;figure class="frame is-terminal not-content"&gt;&#13;&#10; &lt;figcaption class="header"&gt;&#13;&#10; &lt;span class="title"&gt;&lt;/span&gt;&#13;&#10; &lt;/figcaption&gt;&#13;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;D:&lt;span class="se"&gt;\d&lt;/span&gt;ev&lt;span class="se"&gt;\m&lt;/span&gt;ysql-8.4.0&lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── bin&lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 可执行文件（mysqld, mysql, mysqladmin 等）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── docs&lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 文档&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── include&lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 头文件&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── lib&lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 库文件&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── share&lt;span class="se"&gt;\ &lt;/span&gt; &lt;span class="c1"&gt;# 错误信息、字符集等共享文件&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── README &lt;span class="c1"&gt;# 说明文件&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#13;&#10; &lt;/figure&gt;&#13;&#10;&lt;/div&gt;&#13;&#10;&lt;div class="callout callout-note d-flex flex-row mt-4 mb-4 pt-4 pe-4 pb-2 ps-3"&gt;&#13;&#10; &#13;&#10; &lt;div class="callout-content"&gt;&#13;&#10; &lt;div class="callout-title"&gt;&#13;&#10; &lt;p&gt;关于解压路径&lt;/p&gt;</description></item></channel></rss>