<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/scripts/pretty-feed-v3.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:h="http://www.w3.org/TR/html4/"><channel><title>Hack Your Heart</title><link>https://h4cker.zip/tags/git/</link><description>临渊羡鱼，不如退而结网</description><generator>Hugo 0.168.0</generator><language>en</language><atom:link href="https://h4cker.zip/tags/git/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Tue, 08 Jun 2021 22:42:05 +0800</lastBuildDate><item><title>Git使用 &amp; 博客推送</title><link>https://h4cker.zip/39697d/</link><pubDate>Tue, 08 Jun 2021 22:42:05 +0800</pubDate><guid isPermaLink="true">https://h4cker.zip/39697d/</guid><description/><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>1.创建一个文件夹</p>
<p>2.将写好的项目文件全部复制进去</p>
<p>3.打开这个文件夹，右键Git Bash Here</p>
<p>4.输入命令：<code>git init</code></p>
<p>5.修改分支：<code>git branch -M main</code></p>
<p>6.输入命令：<code>git add .</code></p>
<p>7.输入命令：<code>git commit -m &quot;xxxxxxx&quot;</code></p>
<p>8.输入命令：<code>git remote add origin git@github.com:Tajang-ctf/仓库名.git</code></p>
<p>9.输入命令 ：<code>git push -u origin main</code></p>
<h2 id="20250206-更新">2025/02/06 更新<a class="anchor" href="#20250206-更新">#</a></h2>
<p>我部署了Hugo博客，主题自己写的，我想在站点目录下执行<code>git push</code>推送public目录内文件到远程仓库，但怎么设置都不行，.gitignore写了也不行，于是写了下面这个脚本：</p>
<div class="code-block highlight collapsed"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="p">@</span><span class="k">echo</span> off
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="k">echo</span> 进入D:\Blog目录
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog&#34;</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">echo</span> 开始构建站点
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">hugo --gc --minify
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">echo</span> 进入D:\Blog\public目录
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog\public&#34;</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">echo</span> 添加所有文件
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">git add .
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">echo</span> 提交代码
</span></span><span class="line"><span class="ln">11</span><span class="cl">git -c i18n.commitEncoding=utf-8 -c i18n.logOutputEncoding=utf-8 commit -m <span class="s2">&#34;推送Hugo博客&#34;</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">echo</span> 推送到Github仓库
</span></span><span class="line"><span class="ln">13</span><span class="cl">git push origin main
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">echo</span> 推送完成！
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">pause</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="p">@</span><span class="c1">REM Blog是博客站点根目录，不需要推送，只需要推送public内文件夹，本来想着写,gitignore忽略所有文件，但排除public内文件。但是一直不成功，所以写这个脚本。</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="p">@</span><span class="c1">REM public内有git配置，分支是main，直接推送即可</span></span></span></code></pre><div class="title text-sm text-muted-foreground px-3 py-1 rounded-lg border">push.bat</div><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bat</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button><button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="m11 17.243l-3.95-3.95a1 1 0 1 0-1.414 1.414l5.657 5.657a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L13 17.243V4a1 1 0 1 0-2 0z"></path></g></svg>
<span class="desc"> code</span></button><div class="collapse-fade"></div></div>
<p>本地<code>git init</code>时默认为master分支，虽然可以使用<code>master:main</code>推送，但遇到各种分支冲突，只能<code>--force</code>，所以还是把本地的分支改成main吧：<code>git branch -m main</code></p>
<h2 id="20250822更新"><strong>2025/08/22更新</strong><a class="anchor" href="#20250822更新">#</a></h2>
<p>终端显示“推送Hugo博客”，但是commit消息是乱码。因为bat一般与windows终端的编码一致的，都是GBK，当然终端也能正常显示ANSI的bat，但是<code>git commit -m &quot;xxxx&quot;</code>里面的消息会被git当GBK读，但是git的显示是按UTF-8显示的，所以会乱码，这里使用</p>
<p><code>git -c i18n.commitEncoding=utf-8 -c i18n.logOutputEncoding=utf-8</code></p>
<p>就是临时设置它的编码和输出编码，这样终端里显示正常，github的commit信息也正常。上面代码已修改。</p>
<h2 id="20250826-更新">2025/08/26 更新<a class="anchor" href="#20250826-更新">#</a></h2>
<p>某文章被要求下架，我删除了居然还能访问，然后发现Github的仓库里仍然有那个文章。然后一次次测试Hugo的draft草稿功能，还有删除后的渲染功能才发现：</p>
<p>Hugo 的草稿一般是不渲染的，但是你只要渲染过，比如<code>hugo server -D</code>，就会存在public/post中。就算重新生成站点或者删除草稿，渲染后的文件也不会被删除，随后被git推送到仓库。虽然页面不显示，但访问 slug 对应链接，仍然能看到，所以要删除文章，就要删除 public/post 里面的对应的文章，但是 git 时候，同步新增和修改，不同步删除。</p>
<p>上面这两个原因导致我无论是改成草稿，还是删除文章，访问链接都能访问文章。</p>
<p>删除的内容仍然保存在github中。所以我去仓库一看，都能找到去年的博客测试图片。不过我的GitHub仓库是私密的，然后被Vercel同步的，数据不会被打包。只不过被删除的资源不显示，但能访问。这其实是本地仓库新的，但是远程仓库累加很多内容。</p>
<p><code>git add -A</code>，可以同步新增、修改、删除，但是hugo的<code>hugo --gc --minify</code>不会删已渲染过的草稿，所以草稿仍被推送。</p>
<p>所以我这里先命令清空public，清洗一次。进去再git add -A。但是<code>rmdir /s /q public</code>导致我的<code>.git</code>文件夹没了，使public变成纯静态文件夹了。。。</p>
<p>这里重新git init、remote之类。然后在<code>hugo --gc --minify</code>之前加入</p>
<div class="code-block highlight"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="ln">1</span><span class="cl"><span class="k">echo</span> 清空 public 目录内容（保留 .git）
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="k">del</span> /q public\*
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">for</span> /d <span class="se">%%</span>x <span class="k">in</span> <span class="p">(</span>public\*<span class="p">)</span> <span class="k">do</span> <span class="k">rmdir</span> /s /q <span class="s2">&#34;</span><span class="se">%%</span><span class="s2">x&#34;</span></span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bat</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button></div>
<p>这样不删除隐藏目录，也就是<code>.git</code>，可以看到上传了很多东西。仓库全部更新了，但是也上传了不少东西。每次都删除public意义不大，而且上传耗时。下架文章，只要删除<code>post（不是posts）</code>文件夹就行，如果怕不小心写过错的tag和Category，那就每次删除标签、分类、文章三个文件夹。</p>
<p>代码用</p>
<div class="code-block highlight"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="ln">1</span><span class="cl"><span class="k">for</span> <span class="se">%%</span>d <span class="k">in</span> <span class="p">(</span>post categories tags<span class="p">)</span> <span class="k">do</span> <span class="k">rmdir</span> /s /q <span class="s2">&#34;D:\Blog\public\</span><span class="se">%%</span><span class="s2">d&#34;</span></span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bat</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button></div>
<p>这样就算我渲染过草稿，也会在脚本里清空文件夹，重新生成内容。</p>
<p>注意，bat 脚本里是 <code>%%d</code> ，终端这样操作就要写 <code>%d</code></p>
<p>完整博客推送代码：</p>
<div class="code-block highlight collapsed"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="p">@</span><span class="k">echo</span> off
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="k">echo</span> 进入D:\Blog目录
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog&#34;</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="p">@</span><span class="c1">REM echo 清空 public 目录内容（保留 .git）</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="p">@</span><span class="c1">REM del /q public\*</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="p">@</span><span class="c1">REM for /d %%x in (public\*) do rmdir /s /q &#34;%%x&#34;</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">echo</span> 删除 post、categories、tags 文件夹
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">for</span> <span class="se">%%</span>d <span class="k">in</span> <span class="p">(</span>post categories tags<span class="p">)</span> <span class="k">do</span> <span class="k">rmdir</span> /s /q <span class="s2">&#34;D:\Blog\public\</span><span class="se">%%</span><span class="s2">d&#34;</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="p">@</span><span class="c1">REM bat脚本里写 %%d ，终端里要写 %d</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">echo</span> 开始构建站点
</span></span><span class="line"><span class="ln">14</span><span class="cl">hugo --gc --minify
</span></span><span class="line"><span class="ln">15</span><span class="cl">
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">echo</span> 进入D:\Blog\public目录
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog\public&#34;</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="k">echo</span> 添加所有文件
</span></span><span class="line"><span class="ln">20</span><span class="cl">git add -A
</span></span><span class="line"><span class="ln">21</span><span class="cl">
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">echo</span> 提交代码
</span></span><span class="line"><span class="ln">23</span><span class="cl">git -c i18n.commitEncoding=utf-8 -c i18n.logOutputEncoding=utf-8 commit -m <span class="s2">&#34;推送Hugo博客&#34;</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl">
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="k">echo</span> 推送到Github仓库
</span></span><span class="line"><span class="ln">26</span><span class="cl">git push --force origin main
</span></span><span class="line"><span class="ln">27</span><span class="cl">
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="k">echo</span> 推送完成！
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">pause</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="p">@</span><span class="c1">REM Blog是博客站点根目录，不需要推送，只需要推送public内文件夹，本来想着写,gitignore忽略所有文件，但排除public内文件。但是一直不成功，所以写这个脚本。</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="p">@</span><span class="c1">REM public内有git配置，分支是main，直接推送即可</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="p">@</span><span class="c1">REM 详情参考：https://h4cker.zip/post/39697d/</span></span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bat</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button><button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="m11 17.243l-3.95-3.95a1 1 0 1 0-1.414 1.414l5.657 5.657a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L13 17.243V4a1 1 0 1 0-2 0z"></path></g></svg>
<span class="desc"> code</span></button><div class="collapse-fade"></div></div>
<p><code>@REM</code>是注释的意思</p>
<h2 id="20251006-更新rspress类把git文件夹都删除的项目用">2025/10/06 更新（rspress类把.git文件夹都删除的项目用）<a class="anchor" href="#20251006-更新rspress类把git文件夹都删除的项目用">#</a></h2>
<p>最近用rspress翻译了个文档，这个工具主页跟vuepress很像，但是性能碾压。而且一套工具链都极其完善，不愧是服务字节跳动整个集团web端的部门。</p>
<p>我在翻译RAMN文档的时候，发现，他生成的静态网站文件是将doc_build文件夹清空，再往里生成文件，这和hugo、hexo都是相反的。</p>
<p>所以也会清空 <code>.git</code> 文件夹，有各种方法在项目根目录建立git，然后只上传doc_build里的内容。但是不想折腾了，就用下面这个方法吧</p>
<div class="code-block highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">git init
</span></span><span class="line"><span class="ln">2</span><span class="cl">git add .
</span></span><span class="line"><span class="ln">3</span><span class="cl">git commit -m <span class="s2">&#34;Initial commit&#34;</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">git remote add origin https://github.com/TajangSec/RAMN_docs.git
</span></span><span class="line"><span class="ln">5</span><span class="cl">git push --force origin main</span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bash</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button></div>
<h2 id="20260224-更新">2026/02/24 更新<a class="anchor" href="#20260224-更新">#</a></h2>
<p>莫名奇妙，好像是系统更新的锅，找不到原因，脚本是GBK/ANSI，终端也是这个，但是打印乱码，脚本设置为UTF-8或utf-8-bom才行。这里貌似是编码乱七八糟加上中文导致字符解析错误。</p>
<p>算了，重置一版脚本：</p>
<div class="code-block highlight collapsed"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="p">@</span><span class="k">echo</span> off
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="p">:</span><span class="c1">: ============================================================</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="p">:</span><span class="c1">: 脚本说明：</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="p">:</span><span class="c1">: 1. 仅推送 D:\Blog\public 目录下的内容到 GitHub</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="p">:</span><span class="c1">: 2. public 目录内已配置 Git 远程仓库 (main 分支)</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="p">:</span><span class="c1">: 3. 参考：https://h4cker.zip/post/39697d/</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="p">:</span><span class="c1">: ============================================================</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">echo</span> [1/6] 正在进入 D:\Blog 目录...
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog&#34;</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">echo</span> [2/6] 清理 public 目录（保留 .git）...
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">if</span> <span class="k">exist</span> public <span class="p">(</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">    <span class="k">for</span> /d <span class="se">%%</span>x <span class="k">in</span> <span class="p">(</span>public\*<span class="p">)</span> <span class="k">do</span> <span class="p">(</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">        <span class="k">if</span> <span class="k">/i</span> <span class="k">not</span> <span class="s2">&#34;</span><span class="se">%%</span><span class="s2">~nx&#34;</span><span class="o">==</span><span class="s2">&#34;.git&#34;</span> <span class="k">rmdir</span> /s /q <span class="s2">&#34;</span><span class="se">%%</span><span class="s2">x&#34;</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl">    <span class="p">)</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">    <span class="k">del</span> /q public\*
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="p">)</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl">
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">echo</span> [3/6] Hugo 开始构建站点...
</span></span><span class="line"><span class="ln">22</span><span class="cl">hugo --gc --minify
</span></span><span class="line"><span class="ln">23</span><span class="cl">
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="k">echo</span> [4/6] 进入 public 目录准备推送...
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog\public&#34;</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl">
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="k">echo</span> [5/6] 提交更改...
</span></span><span class="line"><span class="ln">28</span><span class="cl">git add -A
</span></span><span class="line"><span class="ln">29</span><span class="cl">git -c i18n.commitEncoding=utf-8 -c i18n.logOutputEncoding=utf-8 commit -m <span class="s2">&#34;站点更新：</span><span class="nv">%date%</span><span class="s2"> </span><span class="nv">%time%</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl">
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="k">echo</span> [6/6] 推送到 Github 仓库...
</span></span><span class="line"><span class="ln">32</span><span class="cl">git push --force origin main
</span></span><span class="line"><span class="ln">33</span><span class="cl">
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="k">cd</span> ..
</span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="k">echo</span>.
</span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="k">echo</span> 推送任务已完成！
</span></span><span class="line"><span class="ln">37</span><span class="cl">pause</span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bat</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button><button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="m11 17.243l-3.95-3.95a1 1 0 1 0-1.414 1.414l5.657 5.657a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L13 17.243V4a1 1 0 1 0-2 0z"></path></g></svg>
<span class="desc"> code</span></button><div class="collapse-fade"></div></div>
<h2 id="20260302更新">2026/03/02更新<a class="anchor" href="#20260302更新">#</a></h2>
<p>由于更新了文章加密功能，所以在上传前有个加密脚本的运行</p>
<div class="code-block highlight collapsed"><pre tabindex="0" class="chroma"><code class="language-bat" data-lang="bat"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="p">@</span><span class="k">echo</span> off
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="p">:</span><span class="c1">: ============================================================</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="p">:</span><span class="c1">: 脚本说明：</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="p">:</span><span class="c1">: 1. 仅推送 D:\Blog\public 目录下的内容到 GitHub</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="p">:</span><span class="c1">: 2. public 目录内已配置 Git 远程仓库 (main 分支)</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="p">:</span><span class="c1">: 3. 参考：https://h4cker.zip/post/39697d/</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="p">:</span><span class="c1">: ============================================================</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">echo</span> [1/7] 正在进入 D:\Blog 目录...
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog&#34;</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">echo</span> [2/7] 清理 public 目录（保留 .git）...
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">if</span> <span class="k">exist</span> public <span class="p">(</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">    <span class="k">for</span> /d <span class="se">%%</span>x <span class="k">in</span> <span class="p">(</span>public\*<span class="p">)</span> <span class="k">do</span> <span class="p">(</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">        <span class="k">if</span> <span class="k">/i</span> <span class="k">not</span> <span class="s2">&#34;</span><span class="se">%%</span><span class="s2">~nx&#34;</span><span class="o">==</span><span class="s2">&#34;.git&#34;</span> <span class="k">rmdir</span> /s /q <span class="s2">&#34;</span><span class="se">%%</span><span class="s2">x&#34;</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl">    <span class="p">)</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">    <span class="k">del</span> /q public\*
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="p">)</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl">
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">echo</span> [3/7] Hugo 开始构建站点...
</span></span><span class="line"><span class="ln">22</span><span class="cl">hugo --gc --minify
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="k">echo</span> [4/7] 正在执行 AES-GCM 加密处理...
</span></span><span class="line"><span class="ln">24</span><span class="cl">py encrypt_process.py
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="k">if</span> <span class="nv">%errorlevel%</span> <span class="ow">neq</span> 0 <span class="p">(</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl">    <span class="k">echo</span> 加密脚本执行失败，请检查 Python 依赖。
</span></span><span class="line"><span class="ln">27</span><span class="cl">    <span class="k">pause</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl">    <span class="k">exit</span> /b <span class="nv">%errorlevel%</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="p">)</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl">
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="k">echo</span> [5/7] 进入 public 目录准备推送...
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="k">cd</span> /d <span class="s2">&#34;D:\Blog\public&#34;</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl">
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="k">echo</span> [6/7] 提交更改...
</span></span><span class="line"><span class="ln">35</span><span class="cl">git add -A
</span></span><span class="line"><span class="ln">36</span><span class="cl">git -c i18n.commitEncoding=utf-8 -c i18n.logOutputEncoding=utf-8 commit -m <span class="s2">&#34;站点更新：</span><span class="nv">%date%</span><span class="s2"> </span><span class="nv">%time%</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="ln">37</span><span class="cl">
</span></span><span class="line"><span class="ln">38</span><span class="cl"><span class="k">echo</span> [7/7] 推送到 Github 仓库...
</span></span><span class="line"><span class="ln">39</span><span class="cl">git push --force origin main
</span></span><span class="line"><span class="ln">40</span><span class="cl">
</span></span><span class="line"><span class="ln">41</span><span class="cl"><span class="k">cd</span> ..
</span></span><span class="line"><span class="ln">42</span><span class="cl"><span class="k">echo</span>.
</span></span><span class="line"><span class="ln">43</span><span class="cl"><span class="k">echo</span> 推送任务已完成！
</span></span><span class="line"><span class="ln">44</span><span class="cl">pause</span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">bat</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button><button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="m11 17.243l-3.95-3.95a1 1 0 1 0-1.414 1.414l5.657 5.657a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L13 17.243V4a1 1 0 1 0-2 0z"></path></g></svg>
<span class="desc"> code</span></button><div class="collapse-fade"></div></div>
<h2 id="20260616-更新">2026/06/16 更新<a class="anchor" href="#20260616-更新">#</a></h2>
<p>没想到中间迭代那么多次，现在都换 jekyll 加换电脑了。</p>
<h3 id="博客备份">博客备份<a class="anchor" href="#博客备份">#</a></h3>
<p>博客根目录可以推送到远程的<code>Blog-backup</code></p>
<div class="code-block highlight collapsed"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="cp">#!/bin/zsh
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="nv">BLOG_DIR</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$HOME</span><span class="s2">/Blog-jekyll&#34;</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[1/3] 进入博客...&#34;</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="nb">cd</span> <span class="s2">&#34;</span><span class="nv">$BLOG_DIR</span><span class="s2">&#34;</span> <span class="o">||</span> <span class="nb">exit</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[2/3] 添加文件...&#34;</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 只有有变更时才提交</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">if</span> ! git diff --quiet <span class="o">||</span> ! git diff --cached --quiet<span class="p">;</span> <span class="k">then</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">  git add -A
</span></span><span class="line"><span class="ln">12</span><span class="cl">  git commit -m <span class="s2">&#34;博客备份：</span><span class="k">$(</span>date <span class="s1">&#39;+%Y-%m-%d %H:%M:%S&#39;</span><span class="k">)</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">else</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl">  <span class="nb">echo</span> <span class="s2">&#34;⚠️  无变更，跳过提交&#34;</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[3/3] 推送...&#34;</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">git push origin main  <span class="c1"># 想替换全部文件为最新，加 --force</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;完成 ✔&#34;</span></span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">sh</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button><button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="m11 17.243l-3.95-3.95a1 1 0 1 0-1.414 1.414l5.657 5.657a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L13 17.243V4a1 1 0 1 0-2 0z"></path></g></svg>
<span class="desc"> code</span></button><div class="collapse-fade"></div></div>
<h3 id="站点推送">站点推送<a class="anchor" href="#站点推送">#</a></h3>
<p>由于换了 mac，很多东西都简化了，没有以前那么复杂，而且 jekyll 也没什么附加的东西，目前这个主题除了没有加密功能，其他都挺好。</p>
<div class="code-block highlight collapsed"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="cp">#!/bin/zsh
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="nv">BLOG_DIR</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$HOME</span><span class="s2">/Blog-jekyll&#34;</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="nv">SITE_DIR</span><span class="o">=</span><span class="s2">&#34;</span><span class="nv">$BLOG_DIR</span><span class="s2">/_site&#34;</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[1/3] 构建 Jekyll...&#34;</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="nb">cd</span> <span class="s2">&#34;</span><span class="nv">$BLOG_DIR</span><span class="s2">&#34;</span> <span class="o">||</span> <span class="nb">exit</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">bundle <span class="nb">exec</span> jekyll build
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[2/3] 提交静态文件...&#34;</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="nb">cd</span> <span class="s2">&#34;</span><span class="nv">$SITE_DIR</span><span class="s2">&#34;</span> <span class="o">||</span> <span class="nb">exit</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1"># 只有有变更时才提交</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">if</span> ! git diff --quiet <span class="o">||</span> ! git diff --cached --quiet<span class="p">;</span> <span class="k">then</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">  git add -A
</span></span><span class="line"><span class="ln">16</span><span class="cl">  git commit --allow-empty -m <span class="s2">&#34;站点更新：</span><span class="k">$(</span>date <span class="s1">&#39;+%Y-%m-%d %H:%M:%S&#39;</span><span class="k">)</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">else</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">  <span class="nb">echo</span> <span class="s2">&#34;⚠️  无变更，跳过提交&#34;</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="k">fi</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl">
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[3/3] 推送...&#34;</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl">git push origin main  <span class="c1"># 想替换全部文件为最新，加 --force</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl">
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;完成 ✔&#34;</span></span></span></code></pre><span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground">sh</span><button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"><div class="ready"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M15 2c.683 0 1.287.343 1.647.866l.085.134H18a2 2 0 0 1 1.995 1.85L20 5v12a5 5 0 0 1-4.783 4.995L15 22H6a2 2 0 0 1-1.995-1.85L4 20V5a2 2 0 0 1 1.85-1.995L6 3h1.268a2 2 0 0 1 1.563-.993L9 2zM7 5H6v15h9a3 3 0 0 0 3-3V5h-1a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2m5 9a1 1 0 0 1 .117 1.993L12 16H9a1 1 0 0 1-.117-1.993L9 14zm3-4a1 1 0 1 1 0 2H9a1 1 0 1 1 0-2zm0-6H9v1h6z"></path></g></svg>
</div><div class="success hidden"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="M13.586 2A2 2 0 0 1 15 2.586L19.414 7A2 2 0 0 1 20 8.414V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm1.59 8.657a1 1 0 0 1 1.415 1.414l-3.111 3.112a1.1 1.1 0 0 1-1.556 0l-1.343-1.344a1 1 0 0 1 1.414-1.414l.707.707ZM14 4.414V8h3.586z"></path></g></svg>
</div></button><button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"><svg
  aria-hidden="true"
  class="pure-icon size-5"
  width="22"
  height="22"
  viewBox="0 0 24 24"
  fill="currentColor"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"></path><path fill="currentColor" d="m11 17.243l-3.95-3.95a1 1 0 1 0-1.414 1.414l5.657 5.657a1 1 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L13 17.243V4a1 1 0 1 0-2 0z"></path></g></svg>
<span class="desc"> code</span></button><div class="collapse-fade"></div></div>
]]></content:encoded><h:img src="https://h4cker.zip/39697d/github1.webp"/><enclosure url="https://h4cker.zip/39697d/github1.webp"/><atom:updated>2026-06-16T02:09:28+08:00</atom:updated><category>技巧</category><category>git</category></item></channel></rss>