<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Git | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《Domenic 的 Agentic 编码工作流：2026 年 7 月实战指南》</title><link>https://channel.meo-ai.com/posts/690</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/690</guid><pubDate>Mon, 03 Aug 2026 00:54:30 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《Domenic 的 Agentic 编码工作流：2026 年 7 月实战指南》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23AI_Agent&quot; title=&quot;#AI_Agent&quot;&gt;#AI_Agent&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Claude_Code&quot; title=&quot;#Claude_Code&quot;&gt;#Claude_Code&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ChatGPT&quot; title=&quot;#ChatGPT&quot;&gt;#ChatGPT&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Tailscale&quot; title=&quot;#Tailscale&quot;&gt;#Tailscale&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Git_Worktrees&quot; title=&quot;#Git_Worktrees&quot;&gt;#Git_Worktrees&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23DevOps&quot; title=&quot;#DevOps&quot;&gt;#DevOps&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91&quot; title=&quot;#远程开发&quot;&gt;#远程开发&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;Domenic 分享了他脱离企业环境后搭建的一套 AI 辅助开发工作流：以一台常驻开机的 Linux VM 为中枢，通过 Tailscale 构建跨设备私有网络，让 ChatGPT/Claude 桌面应用作为瘦客户端远程操控 Agent。核心亮点包括零审批的&quot;YOLO&quot;安全策略、&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; worktrees 实现多 Agent 并行开发、Portless 自动暴露安全预览服务器、VS Code Remote-SSH 审查代码，以及 chezmoi 同步配置。最终效果惊人——他能在火车上用手机连接 VM，让前沿模型修复生产 bug 并直接合并 PR。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1.  Linux VM + Tailscale 是地基：Agent 训练数据几乎全是 Bash/Unix 工具，Windows 下寸步难行。用 Ubuntu Server 搭一台可抛弃的 VM，配合 Tailscale 的魔法 SSH 和 HTTPS 证书，无论在哪台设备、哪个 Wi-Fi 下都能无缝接入，还能让 Agent 启动的开发服务器拥有安全上下文。&lt;br /&gt;2.  ChatGPT 桌面应用体验完胜 Claude：ChatGPT 原生支持远程 SSH 会话，断线重连优雅、worktree 管理清爽（默认放在 &lt;code&gt;~/.codex/worktrees/&lt;/code&gt;）；Claude 桌面应用则在 SSH/Remote Control 混合逻辑、会话同步、worktree 目录污染项目等方面表现糟糕，目前只能退而求其次用 Claude Code + tmux。&lt;br /&gt;3.  &lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; Worktrees 解锁并行开发：在 VM 上让多个 Agent 同时 hack 同一个仓库而不互相踩脚，ChatGPT 和 Claude 都支持一键勾选 worktree 模式。Agent 会自动处理 &lt;code&gt;origin/main&lt;/code&gt; 同步、依赖安装和 &lt;code&gt;.env&lt;/code&gt; 复制，人类完全不用操心。&lt;br /&gt;4.  Portless 让预览服务器&quot;零摩擦&quot;：不用改 &lt;code&gt;npm run dev&lt;/code&gt; 绑定 &lt;code&gt;0.0.0.0&lt;/code&gt;，也不用记端口。&lt;code&gt;tportless&lt;/code&gt; 包装器自动把 localhost 服务代理到 Tailscale 专属域名（如 &lt;code&gt;https://agents-base.tail234567.ts.net:8443/&lt;/code&gt;），多 Agent 并行时端口自动隔离，且外网无法访问。&lt;br /&gt;5.  &quot;危险模式&quot;下的生存策略：把 &lt;code&gt;~/.codex/config.toml&lt;/code&gt; 和 &lt;code&gt;~/.claude/settings.json&lt;/code&gt; 都设为&quot;永不询问权限&quot;，配合 sudo 和 &lt;code&gt;gh&lt;/code&gt; CLI 登录，让 Agent 能自主装工具、发 PR、合并代码。风险靠&quot;频繁推送到 GitHub 私有仓库&quot;来对冲——VM 炸了代码也在云端。&lt;br /&gt;6.  手机修生产 Bug 已成现实：完整闭环——聚会发现 bug → 火车上打开 ChatGPT App → 远程连接 VM 启动修复 → 收到推送通知里的预览链接验证 → 手机审阅 diff 并合并 PR → 到家前 GitHub Actions 已部署上线。这就是未来。&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://domenic.me/agentic-coding-setup/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://domenic.me/agentic-coding-setup/&quot;&gt;https://domenic.me/agentic-coding-setup/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://domenic.me/agentic-coding-setup&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;With the right tools, coding agents can run autonomously, in parallel, and be reachable from anywhere. Here&apos;s how I&apos;ve stitched them together.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Domenic Denicola&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;My Agentic Coding Setup, July 2026&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;With the right tools, coding agents can run autonomously, in parallel, and be reachable from anywhere. Here&apos;s how I&apos;ve stitched them together.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《Git Worktrees 入门指南：把分支变成平行工作空间》</title><link>https://channel.meo-ai.com/posts/678</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/678</guid><pubDate>Sat, 18 Jul 2026 15:26:37 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《&lt;/span&gt;&lt;mark class=&quot;highlight&quot;&gt;&lt;span class=&quot;post-title-source&quot;&gt;Git&lt;/span&gt;&lt;/mark&gt;&lt;span class=&quot;post-title-source&quot;&gt; Worktrees 入门指南：把分支变成平行工作空间》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23Git&quot; title=&quot;#Git&quot;&gt;#Git&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%B7%A5%E4%BD%9C%E6%B5%81&quot; title=&quot;#工作流&quot;&gt;#工作流&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23AI%E8%BE%85%E5%8A%A9%E7%BC%96%E7%A8%8B&quot; title=&quot;#AI辅助编程&quot;&gt;#AI辅助编程&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7&quot; title=&quot;#开发工具&quot;&gt;#开发工具&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86&quot; title=&quot;#分支管理&quot;&gt;#分支管理&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;&lt;br /&gt;&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; worktrees 是一个被低估十年的功能，它将分支检出到独立目录而非项目根目录，让开发者能在同一仓库中并行处理多个任务。文章从基础命令讲起，演示了如何创建、管理和清理 worktree，特别强调了它在 AI 编码代理时代的新价值——多个智能体可在独立工作树中自主工作互不干扰，完成后合并回主仓库，无需将代码推送到云端即可实现并行开发。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;&lt;br /&gt;1. Worktree 的本质就是&quot;检出到不同目录的分支&quot;，它共享完整提交历史，能正常推拉远程，唯一区别是文件物理位置不同&lt;br /&gt;2. 创建命令 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; worktree add ../project.worktrees/feature-name -b feature/name main&lt;/code&gt; 会在指定目录新建分支，但依赖需要重新安装（如 node_modules 不共享），且该分支在 worktree 存在时无法在别处检出&lt;br /&gt;3. 目录组织有两种风格：与主仓库平级的直接兄弟目录，或统一放在 &lt;code&gt;.worktrees&lt;/code&gt; 共享父目录下；后者更整洁，尤其适合 AI 代理批量创建工作树&lt;br /&gt;4. 合并变更既可以通过常规的 push + PR 流程，也可以在本地用 rebase 后 merge；清理时用 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; worktree remove&lt;/code&gt; 删除目录但保留分支，确认无用后再 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; branch -d&lt;/code&gt; 删除分支&lt;br /&gt;5. &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; worktree list&lt;/code&gt; 能查看所有工作树状态，配合 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; config --global alias.wt worktree&lt;/code&gt; 设置别名后，整个工作流（创建、查看、移除）都能用简短的 &lt;code&gt;wt&lt;/code&gt; 命令完成&lt;br /&gt;6. 核心价值在于&quot;本地并行&quot;：AI 编码工具现在常用 worktrees 让多个代理同时修改代码，既避免了分支切换的上下文丢失，也省去了云端暂存的麻烦&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://humanwhocodes.com/blog/2026/07/introduction-git-worktrees/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://humanwhocodes.com/blog/2026/07/introduction-git-worktrees/&quot;&gt;https://humanwhocodes.com/blog/2026/07/introduction-git-worktrees/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://humanwhocodes.com/blog/2026/07/introduction-git-worktrees&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Git worktrees let you check out multiple branches into separate directories simultaneously, making parallel local development straightforward whether you&apos;re working solo or alongside AI coding agents.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Human Who Codes&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;A gentle introduction to Git worktrees - Human Who Codes&quot; src=&quot;/static/https://cdn4.telesco.pe/file/D-0BAcqkq53i_Pmo8l8PG92aVoHFFkoitIBBGuBRN1ovzjJn4tA2hIGfHcHlekN_zkF0PrdU3rbZz_aoeDROnjGaU9iEOTyamQ5puAMvnRkJbB9G2qnW4Zuuph4_Vy-jyPa_0PhwDqormMov935ufwtamE9BdTwNTHJ8Lz0oyNs5crWm_E5h8sFFaDbZ2GIWsFwys4wLv056qtKmFUP1HigI5Hnf3VeFQM1-OOergZK4ZHolSjqP6YSHf5suLp9iYsDoBskxGMkDW4RtUtWE6YovTCJ7YUqZk1pR5_XgGd_0q5J_GO6eePx780VSu7H7piO_quoNy1nLjg6H_D8eRA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;A gentle introduction to &lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; worktrees - Human Who Codes&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; worktrees let you check out multiple branches into separate directories simultaneously, making parallel local development straightforward whether you&apos;re working solo or alongside AI coding agents.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《Git_Worktree_是什么以及为什么现在应该使用它》</title><link>https://channel.meo-ai.com/posts/664</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/664</guid><pubDate>Sat, 20 Jun 2026 09:52:46 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《Git_Worktree_是什么以及为什么现在应该使用它》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23Git&quot; title=&quot;#Git&quot;&gt;#Git&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitHubCopilot&quot; title=&quot;#GitHubCopilot&quot;&gt;#GitHubCopilot&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Worktree&quot; title=&quot;#Worktree&quot;&gt;#Worktree&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E4%B8%8A%E4%B8%8B%E6%96%87%E5%88%87%E6%8D%A2&quot; title=&quot;#上下文切换&quot;&gt;#上下文切换&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23AI_%E5%B9%B6%E8%A1%8C%E5%BC%80%E5%8F%91&quot; title=&quot;#AI_并行开发&quot;&gt;#AI_并行开发&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;br /&gt;&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; Worktree 是 &lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; 2015 年就已内置的功能，但最近因 AI 时代并行开发需求激增而重新流行。它允许你在同一仓库的不同分支上同时工作，每个分支拥有独立的文件夹，彻底告别 stash 切换和编辑器上下文中断的烦恼。GitHub Copilot 应用已将其作为默认工作模式。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. 告别 stash 地狱：紧急修 bug 时再也不用 stash 当前工作、切分支、修完再切回来 pop stash 了，Worktree 让你原地不动就能开新窗口干活&lt;br /&gt;2. 每个分支一个文件夹：用 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; worktree add&lt;/code&gt; 瞬间创建基于任意分支的独立工作目录，原编辑器窗口完全不受影响，真正实现并行开发&lt;br /&gt;3. AI 时代让它翻红：以前 Worktree 鲜为人知，现在因为 AI Agent 和人类开发者需要大量并行会话，它成了 GitHub Copilot 等工具的默认模式&lt;br /&gt;4. 注意几个小坑：每个 Worktree 都要独立装依赖（磁盘会胖）、文件夹要记得清理、同一分支不能同时在两个 Worktree 检出&lt;br /&gt;5. VS Code 和 Copilot 都原生支持：不需要记命令，图形界面里直接选&quot;New worktree&quot;就能用，路径和变更状态一目了然&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://github.blog/ai-and-ml/github-copilot/what-are-git-worktrees-and-why-should-i-use-them/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.blog/ai-and-ml/github-copilot/what-are-git-worktrees-and-why-should-i-use-them/&quot;&gt;https://github.blog/ai-and-ml/github-copilot/what-are-git-worktrees-and-why-should-i-use-them/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.blog/ai-and-ml/github-copilot/what-are-git-worktrees-and-why-should-i-use-them&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Git worktrees have been around since 2015, but it wasn&apos;t until recently they became popular. Learn what they are, how to use them, and why you might.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;The GitHub Blog&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;What are git worktrees, and why should I use them?&quot; src=&quot;/static/https://cdn4.telesco.pe/file/NVbaeYKKRwStd4oVEyZ9rXmgW5gE5CKYe1EQHLTMcLsfSAC0kRdnUenj9FnM3wD0lcDnqvLhSAfBEd5Y8DajuvB0TNs7E_3i9cuzpYMvnHD4OsblwYvt2Mv11V9hIweaDJ0Uzrbo9RJmfhJt17mHKBvn6bZubWO83GMTtI3oo2LobtaSKX1rBmd1o_ivPqsi5UNh7VjHkebQYB-9K20pevbVS_T7OgOWXjLXAAkXsNer4IldHsC_rdO2z2_VKW0w5LBr7-fP3Yu6lDGQLrZY5SRxtBxSANPidJOGrOqD9PG7ebfxW6GHtspXDVbb1X36mlLOv6udrKWxABI-CellTA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;What are &lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; worktrees, and why should I use them?&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; worktrees have been around since 2015, but it wasn&apos;t until recently they became popular. Learn what they are, how to use them, and why you might.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>《Git 的魔法文件》</title><link>https://channel.meo-ai.com/posts/567</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/567</guid><pubDate>Sat, 28 Feb 2026 08:14:49 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《&lt;/span&gt;&lt;mark class=&quot;highlight&quot;&gt;&lt;span class=&quot;post-title-source&quot;&gt;Git&lt;/span&gt;&lt;/mark&gt;&lt;span class=&quot;post-title-source&quot;&gt; 的魔法文件》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23Git&quot; title=&quot;#Git&quot;&gt;#Git&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6&quot; title=&quot;#版本控制&quot;&gt;#版本控制&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitIgnore&quot; title=&quot;#GitIgnore&quot;&gt;#GitIgnore&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitAttributes&quot; title=&quot;#GitAttributes&quot;&gt;#GitAttributes&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitLFS&quot; title=&quot;#GitLFS&quot;&gt;#GitLFS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitModules&quot; title=&quot;#GitModules&quot;&gt;#GitModules&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Mailmap&quot; title=&quot;#Mailmap&quot;&gt;#Mailmap&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23GitBlame&quot; title=&quot;#GitBlame&quot;&gt;#GitBlame&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23EditorConfig&quot; title=&quot;#EditorConfig&quot;&gt;#EditorConfig&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7&quot; title=&quot;#开发工具&quot;&gt;#开发工具&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; 仓库中的&quot;魔法文件&quot;是随代码提交的特殊配置文件，用于控制 &lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; 行为。文章系统介绍了 &lt;code&gt;.gitignore`、&lt;/code&gt;.gitattributes`、`.lfsconfig`、`.gitmodules`、`.mailmap`、`.&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt;-blame-ignore-revs` 等核心文件的功能与语法，涵盖文件忽略、属性管理、大文件存储、子模块、作者映射、blame 忽略等场景，同时提及代码托管平台专用文件夹及其他生态工具（如 &lt;code&gt;.editorconfig`、&lt;/code&gt;.dockerignore`）的配置模式，为工具开发者和使用者提供完整参考指南。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;- &lt;code&gt;.gitignore&lt;/code&gt; 定义忽略规则，支持通配符、目录标记和否定模式，仅影响未跟踪文件；&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; 按层级检查多个位置的 ignore 文件&lt;br /&gt;- &lt;code&gt;.gitattributes&lt;/code&gt; 控制文件处理逻辑，包括行尾规范化（`text eol=lf`）、diff/合并驱动、二进制标记，以及 GitHub Linguist 的语言检测覆盖（`linguist-vendored`、`linguist-generated`）&lt;br /&gt;- &lt;code&gt;.lfsconfig&lt;/code&gt; 存储 &lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt; LFS 服务端配置，使用 &lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; config 格式设置 URL 和传输选项，确保团队成员共享相同设置&lt;br /&gt;- &lt;code&gt;.gitmodules&lt;/code&gt; 管理子模块依赖，包含路径、URL 和分支信息；子模块不会随 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; clone&lt;/code&gt; 自动获取，需使用 &lt;code&gt;--recurse-submodules&lt;/code&gt; 或手动初始化&lt;br /&gt;- &lt;code&gt;.mailmap&lt;/code&gt; 映射作者身份，将旧邮箱或姓名变体统一为标准身份，影响 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; log`、`&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; shortlog&lt;/code&gt; 和 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; blame&lt;/code&gt; 的输出（但不影响 GitHub 贡献者图表）&lt;br /&gt;- &lt;code&gt;.&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt;-blame-ignore-revs&lt;/code&gt; 记录格式化、迁移等无意义提交的 SHA，使 &lt;code&gt;&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt; blame&lt;/code&gt; 跳过这些提交，直接显示实际逻辑作者；GitHub、GitLab 15.4+、Gitea 自动支持&lt;br /&gt;- 代码托管平台使用专属文件夹（`.github/&lt;code&gt;、&lt;/code&gt;.gitlab/&lt;code&gt;、&lt;/code&gt;.gitea/` 等）存储 CI/CD 工作流、Issue 模板和 CODEOWNERS 配置；Forgejo 和 Gitea 支持配置回退链&lt;br /&gt;- 其他生态工具延续相同模式：`.editorconfig` 统一编辑器行为、`.dockerignore` 控制构建上下文、`.ruby-version`/&lt;code&gt;.node-version&lt;/code&gt; 指定语言运行时版本&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://nesbitt.io/2026/02/05/git-magic-files.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://nesbitt.io/2026/02/05/git-magic-files.html&quot;&gt;https://nesbitt.io/2026/02/05/git-magic-files.html&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://nesbitt.io/2026/02/05/git-magic-files.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Magic files and where to find them: .gitignore, .gitattributes, .mailmap, .git-blame-ignore-revs, .lfsconfig, and more.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Andrew Nesbitt&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Git’s Magic Files&quot; src=&quot;/static/https://cdn4.telesco.pe/file/TjnvAjqoHVF50kKZ97WiGwN1im5oA7OlKz2SCb-uyFCz4vzlj4bbPWxB0i6dcsoCCF0riZ6tWi9PynFKXN1uq--Kv_GMQzAuHDbOKLQUTVIKemrF0JaQdO0RF4-A1Vd-oaum21Bk3zFbZZ1ZEadfcCDneSRgzgWfxYX68y_wWWdzigYderlT6iDmxCLpEtCdQoxazpxVj2FNaBPCa_q4t-k0aNOjuYnImA_Wk-tx0miRfKQLd2fKOZGhV2X7MkmEX2-O2rCunrA__6XO9C3SfnxwFuaHZ3B96IjhMrpjfquS6JzRHILQguyWpeS-4_LWlihfKYXUvBlzq-igNpbvlQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;&lt;mark class=&quot;highlight&quot;&gt;Git&lt;/mark&gt;’s Magic Files&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Magic files and where to find them: .gitignore, .gitattributes, .mailmap, .&lt;mark class=&quot;highlight&quot;&gt;git&lt;/mark&gt;-blame-ignore-revs, .lfsconfig, and more.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>#Git 多用户配置方法</title><link>https://channel.meo-ai.com/posts/201</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/201</guid><pubDate>Fri, 07 Feb 2025 02:01:30 GMT</pubDate><content:encoded>&lt;div class=&quot;image-list-container image-list-odd&quot;&gt;
      &lt;button type=&quot;button&quot; class=&quot;image-preview-button image-preview-wrap&quot; popovertarget=&quot;modal-201-0&quot; popovertargetaction=&quot;show&quot; aria-label=&quot;Open image preview: #Git 多用户配置方法&quot;&gt;
        &lt;img src=&quot;/static/https://cdn5.telesco.pe/file/rAuRPultkKDNe8WHxX_XWfn6tiYGe71ND5svpenoEbLhOMc6bwAP-YMee5u-pq8p9MTdlA7MmOPHefXRyXeOaP1YBtEAkEqRwzZqZQ0cE_AEDY1bsJX3WxfWvVdHGjlGXb9IR52b_vIwi68VyIupTWROAX3lEksIhL3WLjTA5dmcHo84LRU9DLFQza3RQZIdCsGw-CIhV2E3h9JRQNDaavTwUzpuXPrcjb3Xc8UnG3P1aYF_UO-k4VbTwcqBatJJ4tiEhJvlY93quPir2WRPhKmhPJMfyTXj_bWOVatAzwdHH41Krn0CtZYRehDnzDg92EFB5GLDXPvYAC6iAwDXdw.jpg&quot; alt=&quot;#Git 多用户配置方法&quot; width=&quot;707&quot; height=&quot;800&quot; loading=&quot;eager&quot; /&gt;
      &lt;/button&gt;
      &lt;div class=&quot;modal&quot; id=&quot;modal-201-0&quot; popover=&quot;auto&quot; aria-label=&quot;Image preview&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__backdrop&quot; popovertarget=&quot;modal-201-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;&lt;/button&gt;
        &lt;button type=&quot;button&quot; class=&quot;modal__close&quot; popovertarget=&quot;modal-201-0&quot; popovertargetaction=&quot;hide&quot; aria-label=&quot;Close image preview&quot;&gt;×&lt;/button&gt;
        &lt;div class=&quot;modal__surface&quot;&gt;
          
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;&lt;a href=&quot;/search/result?q=%23Git&quot; title=&quot;#Git&quot;&gt;#Git&lt;/a&gt; 多用户配置方法</content:encoded></item></channel></rss>