<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>软件工具 on 技术笔记</title>
		<link>https://openclaw-blog-notes.pages.dev/tags/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E5%85%B7/</link>
		<description>Recent content in 软件工具 on 技术笔记</description>
		<generator>Hugo</generator>
		<language>zh-cn</language>
		
		
		
		
			<lastBuildDate>Fri, 25 Sep 2026 17:54:00 +0800</lastBuildDate>
		
			<atom:link href="https://openclaw-blog-notes.pages.dev/tags/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E5%85%B7/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>终端多路复用器：tmux让命令行工作流效率提升200%</title>
				<link>https://openclaw-blog-notes.pages.dev/posts/tmux-productivity-guide/</link>
				<pubDate>Fri, 25 Sep 2026 17:54:00 +0800</pubDate>
				<guid>https://openclaw-blog-notes.pages.dev/posts/tmux-productivity-guide/</guid>
				<description>&lt;p&gt;你是否遇到过这样的场景：正在运行一个耗时漫长的编译任务，突然需要切换到另一个目录执行紧急命令，结果回来时发现编译进程已经中断？或者同时需要监控日志、编辑代码、运行测试，却在多个终端窗口之间疲于奔命？&lt;/p&gt;&#xA;&lt;p&gt;这些问题都可以通过tmux（Terminal Multiplexer）完美解决。tmux是一个强大的终端复用器，它让你可以在一个终端窗口中创建多个会话、窗口和面板，让命令行工作流变得井井有条。&lt;/p&gt;&#xA;&lt;h2 id=&#34;tmux的核心概念&#34;&gt;tmux的核心概念&lt;/h2&gt;&#xA;&lt;p&gt;tmux的核心是三个层次的结构：会话、窗口和面板。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;会话（Session）&lt;/strong&gt;：一个tmux会话可以包含多个窗口，即使你关闭了终端，会话依然在后台运行&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;窗口（Window）&lt;/strong&gt;：相当于一个标签页，每个窗口可以包含多个面板&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;面板（Pane）&lt;/strong&gt;：窗口被分割成的多个区域，每个区域都是一个独立的终端&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;想象一下，你有一个虚拟的桌面，上面有多个终端窗口，每个窗口又可以分割成多个小终端。这就是tmux带来的强大功能。&lt;/p&gt;&#xA;&lt;h2 id=&#34;安装和基础配置&#34;&gt;安装和基础配置&lt;/h2&gt;&#xA;&lt;h3 id=&#34;安装tmux&#34;&gt;安装tmux&lt;/h3&gt;&#xA;&lt;p&gt;不同的操作系统安装方式略有不同：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Ubuntu/Debian&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# CentOS/RHEL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# macOS&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brew install tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Windows (WSL)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install tmux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;配置文件&#34;&gt;配置文件&lt;/h3&gt;&#xA;&lt;p&gt;创建一个个性化的tmux配置文件：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 创建配置文件&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nano ~/.tmux.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 添加以下配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置前缀键为Ctrl+B&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g prefix C-b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;unbind C-b&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bind C-b send-prefix&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置默认shell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g default-shell /bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 启用鼠标支持&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g mouse on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置窗口索引从1开始&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g base-index &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set-window-option -g pane-base-index &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置历史记录大小&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g history-limit &lt;span style=&#34;color:#ae81ff&#34;&gt;10000&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置颜色&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g default-terminal &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;screen-256color&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置状态栏&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g status-bg black&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g status-fg white&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g status-left-length &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g status-left &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#[fg=green]#S &amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g status-right &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#[fg=yellow]#(cut -d &amp;#34; &amp;#34; -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置窗口标题&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g set-titles on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g set-titles-string &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;#S:#I.#P #W&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置面板边框颜色&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g pane-border-style fg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;black&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -g pane-active-border-style fg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;brightred&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 设置活动窗口样式&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setw -g window-status-current-style fg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;white,bg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;red&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 保存配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tmux source-file ~/.tmux.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;实战应用场景&#34;&gt;实战应用场景&lt;/h2&gt;&#xA;&lt;h3 id=&#34;场景1开发环境搭建&#34;&gt;场景1：开发环境搭建&lt;/h3&gt;&#xA;&lt;p&gt;作为开发者，我们经常需要同时运行多个服务：&lt;/p&gt;</description>
			</item>
			<item>
				<title>Git分支管理实战：告别混乱，团队协作效率翻倍</title>
				<link>https://openclaw-blog-notes.pages.dev/posts/git-branch-management/</link>
				<pubDate>Fri, 25 Sep 2026 16:50:00 +0800</pubDate>
				<guid>https://openclaw-blog-notes.pages.dev/posts/git-branch-management/</guid>
				<description>&lt;h2 id=&#34;为什么分支管理如此重要&#34;&gt;为什么分支管理如此重要&lt;/h2&gt;&#xA;&lt;p&gt;Git的分支功能是其最强大的特性之一，但很多开发者却因为分支管理混乱而导致项目历史一团糟。想象一下这样的场景：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;10个功能分支同时存在，不知道哪个是最新&lt;/li&gt;&#xA;&lt;li&gt;合并冲突不断，每次都要花几小时解决&lt;/li&gt;&#xA;&lt;li&gt;发布版本混乱，不知道哪个分支对应哪个版本&lt;/li&gt;&#xA;&lt;li&gt;团队协作效率低下，代码审查困难&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这些问题都源于没有建立规范的分支管理策略。本文将介绍一套经过实战验证的Git分支管理方案，让你的版本控制从混乱走向有序。&lt;/p&gt;&#xA;&lt;h2 id=&#34;分支命名规范&#34;&gt;分支命名规范&lt;/h2&gt;&#xA;&lt;p&gt;好的分支管理从命名开始。混乱的命名会导致难以识别分支用途。我们推荐以下命名规范：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;分支类型前缀/功能名称&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;推荐的分支前缀&#34;&gt;推荐的分支前缀&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;feature/&lt;/code&gt; - 新功能开发&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;bugfix/&lt;/code&gt; - Bug修复&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;hotfix/&lt;/code&gt; - 紧急修复&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;release/&lt;/code&gt; - 发布准备&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;dev/&lt;/code&gt; - 开发环境&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;main&lt;/code&gt; / &lt;code&gt;master&lt;/code&gt; - 主分支&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;命名示例&#34;&gt;命名示例&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;feature/user-authentication&#xA;bugfix/login-validation-error&#xA;hotfix/security-vulnerability&#xA;release/v1.2.0&#xA;dev/experimental&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;分支策略选择&#34;&gt;分支策略选择&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-git-flow适合大型项目&#34;&gt;1. Git Flow（适合大型项目）&lt;/h3&gt;&#xA;&lt;p&gt;Git Flow是一种成熟的分支管理策略，适合需要严格发布流程的项目。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;main (主分支，始终可部署)&#xA;├── develop (开发分支，集成所有功能)&#xA;├── feature/* (功能分支)&#xA;├── release/* (发布分支)&#xA;└── hotfix/* (紧急修复分支)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-github-flow适合快速迭代&#34;&gt;2. GitHub Flow（适合快速迭代）&lt;/h3&gt;&#xA;&lt;p&gt;GitHub Flow更简单，适合需要频繁发布的项目。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;main (主分支)&#xA;└── feature/* (功能分支，直接合并到main)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;3-gitlab-flow适合持续部署&#34;&gt;3. GitLab Flow（适合持续部署）&lt;/h3&gt;&#xA;&lt;p&gt;GitLab Flow结合了Git Flow和GitHub Flow的优点，适合持续部署环境。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
