<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Git on Zayn's Blog</title><link>https://blog.treesir.pub/tags/git/</link><description>Recent content in Git on Zayn's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>yangzun@treesir.pub (Zayn)</managingEditor><webMaster>yangzun@treesir.pub (Zayn)</webMaster><copyright>2021-2026 Zayn</copyright><lastBuildDate>Sun, 29 Mar 2026 23:00:00 +0800</lastBuildDate><atom:link href="https://blog.treesir.pub/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>每日技术实践简报 - 2026-03-29：从 MCP 到一键发包的博客深度写作与 Skill 链优化</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-29/</link><pubDate>Sun, 29 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-29/</guid><description>&lt;h2 class="relative group">推荐阅读
&lt;div id="推荐阅读" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%8e%a8%e8%8d%90%e9%98%85%e8%af%bb" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/daily-practice-2026-03-28/">每日技术实践简报 - 2026-03-28&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/from-mcp-to-one-click-release-ai-agent-automation/">从 MCP 到一键发包：把 Teambition 评论里的 APK 自动上传 Nexus 的那些坑&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/openclaw-ai-agent-architecture-v2/">OpenClaw AI Agent 架构解析：多引擎联动与记忆系统&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">今日技术实践
&lt;div id="今日技术实践" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%8a%e6%97%a5%e6%8a%80%e6%9c%af%e5%ae%9e%e8%b7%b5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>深度博客文章撰写&lt;/strong>：完成&amp;quot;从 MCP 到一键发包&amp;quot;的 300+ 行技术博客，完整记录了从 Teambition MCP 对接到 APK 自动上传 Nexus 的全链路踩坑过程。&lt;/li>
&lt;li>&lt;strong>Blowfish 主题 shortcode 踩坑&lt;/strong>：发现主题没有 &lt;code>notice&lt;/code> shortcode，只有 &lt;code>alert&lt;/code>。经过多次 sed/edit 替换尝试，最终确认正确语法为 &lt;code>{{&amp;lt; alert &amp;quot;icon-name&amp;quot; &amp;gt;}}内容{{&amp;lt; /alert &amp;gt;}}&lt;/code>。&lt;/li>
&lt;li>&lt;strong>Mermaid 流程图修复&lt;/strong>：从 &lt;code>text&lt;/code> 代码块改为 &lt;code>{{&amp;lt; mermaid &amp;gt;}}&lt;/code> shortcode 格式，Hugo 才能正确渲染可视化流程图。&lt;/li>
&lt;li>&lt;strong>Git 分支治理&lt;/strong>：发现旧分支 &lt;code>feat/extract-markdown-rental-risk-20260324&lt;/code> 堆积了大量无关提交（&lt;code>_index.md&lt;/code> 修改、租房信息文章等），从 main 重新创建干净分支，只包含必要文件。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Blowfish 可用 shortcode 清单&lt;/strong>：alert、mermaid、chart、timeline、figure、gist、katex 等。写文章前先确认 shortcode 存在，不要凭记忆用。&lt;/li>
&lt;li>&lt;strong>blog-post-generator Skill 规范&lt;/strong>：frontmatter 需要 &lt;code>featureimage&lt;/code>、&lt;code>keywords&lt;/code>、&lt;code>tags_weight&lt;/code>/&lt;code>categories_weight&lt;/code>；推荐阅读用相对路径内链；代码块必须是实际可用代码，不要伪代码。&lt;/li>
&lt;li>&lt;strong>Git 分支清理策略&lt;/strong>：保护分支的仓库应&amp;quot;从 main 创建新分支 → cherry-pick 或 checkout 需要的文件 → 关闭旧 MR → 创建新 MR&amp;quot;，比 rebase 更可控。&lt;/li>
&lt;li>&lt;strong>租房等非技术内容不应推到技术博客&lt;/strong>：分支提交前必须 review 文件列表，排除无关内容。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">实际产出
&lt;div id="实际产出" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ae%9e%e9%99%85%e4%ba%a7%e5%87%ba" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>深度博客文章 1 篇（302 行，9892 字节）&lt;/li>
&lt;li>3月28日日报 1 篇&lt;/li>
&lt;li>Git MR !53 创建（干净版本，排除租房信息）&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>notice shortcode 不存在&lt;/strong>：Blowfish 主题没有 &lt;code>notice&lt;/code>，只有 &lt;code>alert&lt;/code>。Skill 文档记录有误，需以实际 shortcode 目录为准。&lt;/li>
&lt;li>&lt;strong>多次 sed 替换导致文件状态混乱&lt;/strong>：部分 &lt;code>notice&lt;/code> 被替换为 &lt;code>alert&lt;/code>，但残留不完整标签。应一次性 read 全文确认再精确 edit。&lt;/li>
&lt;li>&lt;strong>Hugo 版本兼容性警告&lt;/strong>：Module &amp;ldquo;blowfish&amp;rdquo; is not compatible with Hugo 0.137.0/0.148.0，但实际构建可通过，属于警告而非阻断。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">其他思考
&lt;div id="其他思考" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%85%b6%e4%bb%96%e6%80%9d%e8%80%83" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>博客写作风格确立：口语化、有实操感、不要 AI 味；像一个资深工程师在写给同行看；段落简短，多用小标题。&lt;/li>
&lt;li>博客 Skill 链（blowfish-hugo + blog-post-generator + structured-guide-writer）已形成完整工作流，后续写作效率会持续提升。&lt;/li>
&lt;/ul></description></item><item><title>Git 版本控制完整实战指南</title><link>https://blog.treesir.pub/posts/git-docs/</link><pubDate>Fri, 23 Jun 2023 17:07:38 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/git-docs/</guid><description>&lt;p>Git 是现代软件开发中不可或缺的分布式版本控制系统，它不仅能够追踪代码变更历史，还能支持复杂的团队协作和分支管理。本指南将从基础概念开始，逐步深入到高级技巧，帮助您全面掌握 Git 的使用。&lt;/p>
&lt;h2 class="relative group">Git 基础概念
&lt;div id="git-基础概念" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#git-%e5%9f%ba%e7%a1%80%e6%a6%82%e5%bf%b5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">什么是 Git
&lt;div id="什么是-git" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%80%e4%b9%88%e6%98%af-git" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Git 是由 Linux 之父 Linus Torvalds 创建的分布式版本控制系统，具有以下特点：&lt;/p></description></item><item><title>Git 使用问题的记录</title><link>https://blog.treesir.pub/posts/git-use-issue/</link><pubDate>Sun, 25 Apr 2021 10:35:57 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/git-use-issue/</guid><description>&lt;h2 class="relative group">&lt;strong>指定特定仓库拉取代码&lt;/strong>
&lt;div id="指定特定仓库拉取代码" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%8c%87%e5%ae%9a%e7%89%b9%e5%ae%9a%e4%bb%93%e5%ba%93%e6%8b%89%e5%8f%96%e4%bb%a3%e7%a0%81" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git remote add origin https://github.com/demo/example.git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git pull https://repo.csheidou.com/forestry_afterend/prevention_fire_test.git master
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git branch --set-upstream-to&lt;span class="o">=&lt;/span>origin/master
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git status
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git pull
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h2 class="relative group">&lt;strong>更改远程仓库地址&lt;/strong>
&lt;div id="更改远程仓库地址" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%9b%b4%e6%94%b9%e8%bf%9c%e7%a8%8b%e4%bb%93%e5%ba%93%e5%9c%b0%e5%9d%80" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git remote -v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git remote set-url origin https://github.com/demo/example.git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git pull origin master --allow-unrelated-histories
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git push
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git branch --set-upstream-to&lt;span class="o">=&lt;/span>origin/master
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h2 class="relative group">&lt;strong>清理本地错误的用户信息&lt;/strong>
&lt;div id="清理本地错误的用户信息" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%b8%85%e7%90%86%e6%9c%ac%e5%9c%b0%e9%94%99%e8%af%af%e7%9a%84%e7%94%a8%e6%88%b7%e4%bf%a1%e6%81%af" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">运行一下命令缓存输入的用户名和密码：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git config --global credential.helper wincred
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">清除掉缓存在git中的用户名和密码
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git credential-manager uninstall
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h2 class="relative group">&lt;strong>解决 Windows git pull 卡住不动问题&lt;/strong>
&lt;div id="解决-windows-git-pull-卡住不动问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3-windows-git-pull-%e5%8d%a1%e4%bd%8f%e4%b8%8d%e5%8a%a8%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;blockquote>
&lt;p>原因 在 git clone 时后面仓库地址是非公开的 需要验证用户及密码 而windows 默认是已弹窗形式&lt;/p></description></item><item><title>企业级 GitLab 平台部署与运维完整指南</title><link>https://blog.treesir.pub/posts/gitlab-deploy/</link><pubDate>Thu, 04 Mar 2021 16:31:06 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/gitlab-deploy/</guid><description>&lt;h2 class="relative group">推荐阅读
&lt;div id="推荐阅读" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%8e%a8%e8%8d%90%e9%98%85%e8%af%bb" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/jenkins-install/">企业级 Jenkins CI/CD 平台部署与配置完整指南&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/kubernetes-deploy-gitlab/">Kubernetes 环境下部署 GitLab：localPv + 外部数据库方案&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/spinnaker-helm-installd/">使用 Helm 部署 Spinnaker 持续部署(CD)平台&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">GitLab 平台简介
&lt;div id="gitlab-平台简介" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#gitlab-%e5%b9%b3%e5%8f%b0%e7%ae%80%e4%bb%8b" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h2 class="relative group">什么是 GitLab
&lt;div id="什么是-gitlab" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%80%e4%b9%88%e6%98%af-gitlab" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>GitLab 是一个基于 Web 的 DevOps 生命周期工具，提供了 Git 仓库管理、代码审查、问题跟踪、CI/CD 流水线和 Wiki 等功能。作为一个完整的 DevOps 平台，GitLab 帮助团队协作开发、测试和部署应用程序。&lt;/p></description></item></channel></rss>