<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>文章 on 进击的页面仔</title>
    <link>https://genffy.com/posts/</link>
    <description>Recent content in 文章 on 进击的页面仔</description>
    <generator>Hugo -- 0.147.0</generator>
    <language>zh</language>
    <copyright>2026 进击的页面仔</copyright>
    <lastBuildDate>Tue, 29 Apr 2025 19:22:56 +0800</lastBuildDate>
    <atom:link href="https://genffy.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>git 多账号管理</title>
      <link>https://genffy.com/posts/202504/git-multi-account-manage/</link>
      <pubDate>Tue, 29 Apr 2025 19:22:56 +0800</pubDate>
      <guid>https://genffy.com/posts/202504/git-multi-account-manage/</guid>
      <description>详解如何通过 SSH 和 Git 配置高效管理多个 Git 账号，涵盖 SSH key 管理、基于工作区的 Git 身份切换，以及自动化脚本实践，助力个人与工作仓库无缝协作。</description>
    </item>
    <item>
      <title>Rss Verify</title>
      <link>https://genffy.com/posts/rss-verify/</link>
      <pubDate>Mon, 04 Nov 2024 14:56:33 +0800</pubDate>
      <guid>https://genffy.com/posts/rss-verify/</guid>
      <description>&lt;p&gt;This message is used to verify that this feed (feedId:76154346478005248) belongs to me (userId:68909378636414976). Join me in enjoying the next generation information browser &lt;a href=&#34;https://follow.is&#34;&gt;https://follow.is&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RAG系列：环境初体验</title>
      <link>https://genffy.com/posts/nvidia-cuda-driver-install/</link>
      <pubDate>Fri, 26 Jan 2024 18:29:40 +0800</pubDate>
      <guid>https://genffy.com/posts/nvidia-cuda-driver-install/</guid>
      <description>&lt;p&gt;最近想着将公司里 &lt;code&gt;Confluence&lt;/code&gt; 的内容拿来跑个智能知识库系统练练手，学习的是 &lt;a href=&#34;https://twitter.com/Tisoga&#34;&gt;Jiayuan (Forrest)&lt;/a&gt; 大大的 &lt;a href=&#34;https://twitter.com/Tisoga/status/1731478506465636749&#34;&gt;http://devv.ai 是如何构建高效的 RAG 系统的&lt;/a&gt; 这篇文章，找了一圈最终直接用的项目是 &lt;a href=&#34;https://github.com/chatchat-space/Langchain-Chatchat&#34;&gt;Langchain-Chatchat&lt;/a&gt;，结果在一启动的时候就报错了个错，&lt;code&gt;UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 11080).&lt;/code&gt;，很明显，它是告诉我显卡驱动版本太低了，需要更新。这里其实有两种方式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;降低 &lt;code&gt;pytorch&lt;/code&gt; 的版本&lt;/li&gt;
&lt;li&gt;升级显卡驱动&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;先确定本机的驱动信息，以及项目的 pytorch 版本所对应的 cuda 版本信息。&lt;/p&gt;
&lt;h2 id=&#34;基本信息&#34;&gt;基本信息&lt;/h2&gt;
&lt;h3 id=&#34;nvidia-smi&#34;&gt;nvidia-smi&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;最开始的时候是单卡，初始的信息记录&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ lspci &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep -i nvidia
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;af:00.0 3D controller: NVIDIA Corporation GP102GL &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;Tesla P40&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;rev a1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-----------------------------------------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;-------------------------------+----------------------+----------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; GPU  Name        Persistence-M&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Bus-Id        Disp.A &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Volatile Uncorr. ECC &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Fan  Temp  Perf  Pwr:Usage/Cap&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;         Memory-Usage &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; GPU-Util  Compute M. &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;                               &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;                      &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;               MIG M. &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;===============================&lt;/span&gt;+&lt;span class=&#34;o&#34;&gt;======================&lt;/span&gt;+&lt;span class=&#34;o&#34;&gt;======================&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;  Tesla P40           Off  &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; 00000000:AF:00.0 Off &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;                    &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; N/A   28C    P8     9W / 250W &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;      9MiB / 23040MiB &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;      0%      Default &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;                               &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;                      &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;                  N/A &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-------------------------------+----------------------+----------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                                                               
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-----------------------------------------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Processes:                                                                  &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;  GPU   GI   CI        PID   Type   Process name                  GPU Memory &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;        ID   ID                                                   Usage      &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=============================================================================&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;    &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;   N/A  N/A      &lt;span class=&#34;m&#34;&gt;2113&lt;/span&gt;      G   /usr/lib/xorg/Xorg                  4MiB &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;    &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;   N/A  N/A      &lt;span class=&#34;m&#34;&gt;7618&lt;/span&gt;      G   /usr/lib/xorg/Xorg                  4MiB &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+-----------------------------------------------------------------------------+
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ nvcc --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvcc: NVIDIA &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;R&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; Cuda compiler driver
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Copyright &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;c&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; 2005-2022 NVIDIA Corporation
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Built on Wed_Sep_21_10:33:58_PDT_2022
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Cuda compilation tools, release 11.8, V11.8.89
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Build cuda_11.8.r11.8/compiler.31833905_0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;项目依赖的-cuda-版本&#34;&gt;项目依赖的 CUDA 版本&lt;/h3&gt;
&lt;p&gt;通过简单的脚本能看到项目依赖的 &lt;code&gt;cuda&lt;/code&gt; 版本为 &lt;code&gt;12.1&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>麦肯锡结构化战略思维：如何想清楚、说明白、做到位</title>
      <link>https://genffy.com/posts/mckinsey-structured-thinking/</link>
      <pubDate>Mon, 30 Oct 2023 23:03:25 +0800</pubDate>
      <guid>https://genffy.com/posts/mckinsey-structured-thinking/</guid>
      <description>&lt;p&gt;《麦肯锡结构化战略思维：如何想清楚、说明白、做到位》
周国元
59个笔记&lt;/p&gt;
&lt;p&gt;◆ 点评
2023/10/29 认为好看
都是可以直接抄走的一些实操，适合各个行业&lt;/p&gt;
&lt;p&gt;◆ “焦虑”在VUCA时代蔓延&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;volatility（易变性），uncertainty（不确定性），complexity（复杂性），ambiguity（模糊性）&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;2023/10/28发表想法
处于这个阶段估计有五年之久了，反反复复，时间却不止的流逝&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;可有的人只停留在抱怨、对变化浅尝辄止的阶段&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;要养成理性思考、理性办事的习惯，人们首先要走出心理上的舒适区和大脑快速思考的本能。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 2.3 “切”名词是结构化战略思维的起点&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;MECE是英文“Mutually Exclusive，Collectively Exhaustive”的简写。MECE原则要求结构化切分后要达到如下要求。
（1）子分类相互独立无重叠；
（2）子分类加起来穷尽全部可能。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;MECE&#34; loading=&#34;lazy&#34; src=&#34;https://genffy.com/images/2023-10-30/epub_34916572_67.jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;2023/10/28发表想法
精准划分的标准&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;要把“好”和“坏”用明确数据标准做区分，给每个判断以充足、具体又可衡量的指引，这并不是一蹴而就的容易事&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 2.4 “切”问题，更上一层楼&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;切”问题主要有4种方法：公式法、子目录列举法、流程法和逻辑框架法。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;四种切问题的方法&#34; loading=&#34;lazy&#34; src=&#34;https://genffy.com/images/2023-10-30/epub_34916572_6.jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;◆ 第3章 结构化战略思维四大原则&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;结构化战略思维四大原则分别是数字说话、洞见优于表象、MECE原则和假设为前提，其中数字说话和洞见优于表象是偏重数字分析和高效交流的科学方法和行为准则，而MECE原则和假设为前提更多是指导思路的方法论。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;结构化战略思维四大原则&#34; loading=&#34;lazy&#34; src=&#34;https://genffy.com/images/2023-10-30/epub_34916572_15.jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;◆ 3.1 原则1：数字说话&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;“以偏概全”就是一种常见的误导手段&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;偷换概念也是一种很常用的误导手段。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;面对任何数字，我们首先要假设数字是不准确的。“先小人后君子”，主动验证是思辨者的责任。只有经得起调研和拷问的数字才可信&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;面对用于决策的关键数字时，要有能力在有限的时间内依靠常识快速简易地证真或证伪，我把这种能力称为“常识推理能力”。这一数字核实的过程用英语描述为Back-of-the-envelop-calculation，直译“信封背面的计算”&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 3.2 原则2：洞见优于表象&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;海量的数据中萃取洞见的能力是数字决策的核心，初学者可以通过五个简单步骤来练习寻找洞见：（1）寻找数字中的规律和趋势（Pattern）；（2）寻找极端的数字及其含义；（3）对比参照数据并分析差异；（4）寻求其他相关信息；（5）推演并提炼洞见。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;试图寻找数字中的规律和趋势&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;极端的数据点包括最大值、最小值和数字0&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;对比参照数据并分析差异&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;2023/10/29发表想法
这个常规是不是也有些武断&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;参照业界常规，即使有大量和精准的市场投入，一个新品牌饮品也至少需要4个季度才能盈利&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;参照业界常规，即使有大量和精准的市场投入，一个新品牌饮品也至少需要4个季度才能盈利&lt;/p&gt;</description>
    </item>
    <item>
      <title>格鲁夫给经理人的第一课</title>
      <link>https://genffy.com/posts/high-output-management/</link>
      <pubDate>Wed, 25 Oct 2023 23:31:42 +0800</pubDate>
      <guid>https://genffy.com/posts/high-output-management/</guid>
      <description>&lt;p&gt;《格鲁夫给经理人的第一课（畅销版）》
安迪·格鲁夫
81个笔记&lt;/p&gt;
&lt;p&gt;◆ 点评
2023/10/21 认为好看
重读，在带十人团队之后。很多场景基本是可以完全抄着用，不过也有些前提。比如书中的主人公是大老板，有完全的空间，但大多数还有+1，+2 等，很多动作可能需要优化下。不过也可以用里面对下属的技巧，去反向管理自己的老板，让自己有更好的绩效。&lt;/p&gt;
&lt;p&gt;◆ 序 重温《格鲁夫给经理人的第一课》&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;经理人不需要多聪明，多熟悉业务，最重要的是如何把知识转化为团队绩效和产出。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果一个人工作上毫无作为，只有两个原因：他要么不会做，要么不想做；不是没能力，就是没动力。”&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;过程初期所付出的能量将会收到十倍的回报，而过程末期所付出的能量则会收到十倍的负回报&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;2023/10/11发表想法
堂主一定是反复阅读了这本书的&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果员工对任务的成熟度不高，经理人手把手培训就非常重要。如果员工足够成熟，那么适当放权则更为恰当。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;如果员工对任务的成熟度不高，经理人手把手培训就非常重要。如果员工足够成熟，那么适当放权则更为恰当。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;经理人只能从两个方面影响员工的产出：激励和培训&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 序言 从20世纪80年代的巨变谈起&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在日益艰难的环境里，就算你“成为市场里的老二”也还不够&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 顺应新环境&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;这些改变将会催生一个竞争激烈且难以预期的工作环境。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;让混沌丛生，然后掌控混沌&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 认识你的组织&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;产出导向管理&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;团队意识&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;2023/10/11发表想法
本质上就是通过手段，让手下出更多的成绩，以前以为只有类似销售分销是这样的，其他类型的组织也大抵如此&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;一个经理人的产出，便是他所管理和影响所及的下属工作的成效总和。”&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;管理杠杆率”（&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;2023/10/11发表想法
炒股也是这样吧 哈哈哈哈&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;我们必须认清“无法预测未来”这个事实，但这并不等于“我们应该就此放弃计划”。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 经营你的职业生涯&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;又让我得知自己是现实主义者——只有能在变化中生存的人才会对未来抱持乐观的态度。我写此书的动机就是提出能增加&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 第一篇 早餐店的生产线&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;限制步骤的概念&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;时间互偿&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;但凡是能以最低成本达到理想的运送速度以及品质的，便是最佳方案&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;你都应该使用线上检视的方法，而避免必须要牺牲产品的测试方法。&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;◆ 第2章 从早餐店的库存谈起&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何使用 GitHub 和 Docker 进行自动部署</title>
      <link>https://genffy.com/posts/how-to-auto-deploy-with-github-docker/</link>
      <pubDate>Thu, 08 Jun 2023 17:50:33 +0800</pubDate>
      <guid>https://genffy.com/posts/how-to-auto-deploy-with-github-docker/</guid>
      <description>&lt;h2 id=&#34;前置知识&#34;&gt;前置知识&lt;/h2&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;会简单用一下 &lt;a href=&#34;https://docs.docker.com/get-started/&#34;&gt;docker&lt;/a&gt; 以及 &lt;a href=&#34;https://docs.docker.com/compose/&#34;&gt;docker-compose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;知道 &lt;a href=&#34;https://docs.github.com/en/actions/learn-github-actions&#34;&gt;github actions&lt;/a&gt; 以及会用&lt;/li&gt;
&lt;li&gt;以及一点点 linux 操作的基础，可以 &lt;a href=&#34;https://logseq.genffy.com/#/page/code-snippet&#34;&gt;这里&lt;/a&gt; 了解下&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;
&lt;p&gt;作为一个前端er，大多数场景下交付的都是纯静态的东西（html, js, css），可能对于服务部署自动化这块不是特别敏感，随便找个环境 build 下，拿到 dist 文件夹丢到服务器上就完事了。再高级一点的，可能有用到各种 SSX 的，或者还有点 serverless 的，还有个 &lt;a href=&#34;https://vercel.com/docs&#34;&gt;vercel&lt;/a&gt; 这个特别好用的平台供我们使用，简直太强大，纯前端的常规操作，或者配合一些调用第三方数据接口的操作，vercel 一把梭，最多加个 serverless 函数转发下避免跨域之类的问题。比如 ChatGPT 的各种套壳，部署在 vercel 上占大多数。&lt;/p&gt;
&lt;p&gt;但是，如果你是一个后端er，或者是一个全栈，那么你可能会有一些服务端的东西需要部署，比如一些数据库，中间件等，这些似乎在 vercel 上就不能直接搞定了，虽然他们目前也有在计划 Storage 这个东西，尤其对于版本帝的 nodejs 应用来说，可能不用项目需要的基础环境不一样，按照常规的做法可能需要不同的服务器去做这种环境隔离的事情了。其实对于预算充足的来说，这都不是问题，那么现在要介绍的一种就是如何在极限环境下，去做这种多应用部署，方便自己实验。&lt;/p&gt;
&lt;h2 id=&#34;介绍&#34;&gt;介绍&lt;/h2&gt;
&lt;p&gt;对于文中实验场景，唯一可能需要付钱的部份是一台低配的服务器，毕竟 github 的 action 不能和本地通信？（如果你有固定 ip 其实也可以）比如本文中使用的是一台腾讯云上的【标准型SA2 - 2核 2G】的服务器，买了三年千把块，算是很便宜了，装的系统是【	TencentOS Server 3.1 (TK4)】，默认自带了 docker，还做了一些镜像源上的配置，其实自己去&lt;a href=&#34;https://docs.docker.com/get-docker/&#34;&gt;安装&lt;/a&gt;个也很方便，记得改下镜像源。&lt;/p&gt;
&lt;p&gt;需要准备的所有东西包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一台云服务器&lt;/li&gt;
&lt;li&gt;一个镜像仓库&lt;/li&gt;
&lt;li&gt;一个 github 仓库&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;为什么需要一个镜像仓库，目前很多基础仓库其实都在公开的镜像仓库上，比如 &lt;a href=&#34;https://hub.docker.com/search?q=&#34;&gt;dockerhub&lt;/a&gt;，但是对于自己应用的镜像制品，不适合放到公开仓库里。网上也有很多搭建的教程比如 &lt;a href=&#34;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-22-04&#34;&gt;How To Set Up a Private Docker Registry on Ubuntu 22.04&lt;/a&gt;。然后各个云商也提供此类服务，文中例子依旧选择的是腾讯云的 &lt;a href=&#34;https://cloud.tencent.com/product/tcr&#34;&gt;容器镜像服务&lt;/a&gt;。&lt;/p&gt;</description>
    </item>
    <item>
      <title>📒是什么一直束缚你在社会底层？</title>
      <link>https://genffy.com/posts/how-ordinary-people-can-change-their-destiny/</link>
      <pubDate>Wed, 05 Apr 2023 21:14:31 +0800</pubDate>
      <guid>https://genffy.com/posts/how-ordinary-people-can-change-their-destiny/</guid>
      <description>&lt;iframe src=&#34;//player.bilibili.com/player.html?aid=611473938&amp;bvid=BV1i84y137f3&amp;cid=1066074529&amp;page=1&#34; width=&#34;100%&#34; style=&#34;min-height: 30vh;&#34; scrolling=&#34;no&#34; border=&#34;0&#34; frameborder=&#34;no&#34; framespacing=&#34;0&#34; allowfullscreen=&#34;true&#34;&gt; &lt;/iframe&gt;
&lt;h2 id=&#34;家庭束缚&#34;&gt;家庭束缚&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;父母社会经验的可参考性&lt;/li&gt;
&lt;li&gt;对子女爱的定位（天然的债权人 ）
&lt;ul&gt;
&lt;li&gt;家庭地位平等独立的人&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;how&#34;&gt;How&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;解除思想束缚
&lt;ul&gt;
&lt;li&gt;平等&lt;/li&gt;
&lt;li&gt;走向分离&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;解除现实束缚
&lt;ul&gt;
&lt;li&gt;靠自己，摒弃「等靠要」&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;寻找指路人&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;情绪束缚&#34;&gt;情绪束缚&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;生活中的 10%，是由发生在你身上的事情组成，而另外的 90%，则是由你对所发生的事情，如何反应决定。&amp;mdash; 费斯汀格&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;问自己： 这是你的想法和情绪，还是事实？&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;name&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;desc&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;不自信&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;客观真实世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;悲观&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;主观精神世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;敏感&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;主观精神世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;自我否定&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;主观精神世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;抱怨&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;客观精神世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;不会拒绝&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;客观精神世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;长期内耗&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;主观精神世界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;在意别人的眼光&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;主观精神世界&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;how-1&#34;&gt;How&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;分清哪些是事实，哪些是情绪&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内观&lt;/li&gt;
&lt;li&gt;第三视角观看，不要思考&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;建立正反馈机制&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;做好一件事
&lt;ul&gt;
&lt;li&gt;&amp;#x1f3a7; &lt;a href=&#34;https://www.xiaoyuzhoufm.com/episode/631af16f5d788154344241dc&#34;&gt;先做成一件事情，是打开世界大门的钥匙&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;经济束缚&#34;&gt;经济束缚&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;基本的经济运行规律&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;机会成本&lt;/li&gt;
&lt;li&gt;通货膨胀&lt;/li&gt;
&lt;li&gt;&amp;#x1f4fa; &lt;a href=&#34;https://youtu.be/rFV7wdEX-Mo&#34;&gt;经济机器是怎样运行的 (时长30分钟) Ray Dalio&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;什么是投资&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;两要素
&lt;ul&gt;
&lt;li&gt;风险&lt;/li&gt;
&lt;li&gt;回报率&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;how-2&#34;&gt;How&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;第一阶段&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;了解经济的运行规律&lt;/li&gt;
&lt;li&gt;把自己当前主要收入来源的工作做好
&lt;ul&gt;
&lt;li&gt;顶尖&lt;/li&gt;
&lt;li&gt;压缩时间 -&amp;gt; 提高效率&lt;/li&gt;
&lt;li&gt;好工作 - 行业内最高端的工作&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;第二阶段&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSE What Why How</title>
      <link>https://genffy.com/posts/sse-what-why-how/</link>
      <pubDate>Mon, 13 Mar 2023 10:13:45 +0800</pubDate>
      <guid>https://genffy.com/posts/sse-what-why-how/</guid>
      <description>&lt;h2 id=&#34;server-sent-event-是什么&#34;&gt;Server-Sent Event 是什么&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Server-Sent Event (SSE)&lt;/code&gt; 是一种用于在 Web 应用程序中向客户端发送实时事件的技术，它允许服务器向客户端推送数据，而无需客户端不断地轮询服务器。&lt;/p&gt;
&lt;h3 id=&#34;为了解决什么问题&#34;&gt;为了解决什么问题&lt;/h3&gt;
&lt;p&gt;SSE 是为了解决传统的轮询技术所面临的问题而引入的。在传统的轮询中，客户端不断地向服务器发送请求以检查数据是否可用。这种方式会占用大量带宽和服务器资源，同时也会导致响应延迟。SSE 则完全颠覆了这种方式，客户端只需要向服务器发送一个请求并保持长连接，服务器在有数据更新时即可通过这个连接向客户端推送数据。这种方式减少了不必要的请求和响应，从而提高了性能和效率。SSE 通常用于实时数据更新、通知和聊天应用程序等场景。 &amp;ndash; from @chatGPT&lt;/p&gt;
&lt;h2 id=&#34;数据流规范以及注意事项&#34;&gt;数据流规范以及注意事项&lt;/h2&gt;
&lt;h3 id=&#34;数据流规范如下&#34;&gt;数据流规范如下&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;数据流以 &lt;code&gt;data:&lt;/code&gt; 开头，表示接下来是数据内容。&lt;/li&gt;
&lt;li&gt;数据内容可以是任意文本格式的数据，通常是 &lt;code&gt;JSON&lt;/code&gt; 或纯文本。&lt;/li&gt;
&lt;li&gt;数据内容必须以 &lt;code&gt;\n\n&lt;/code&gt; 结尾，表示这是一个完整的数据块。&lt;/li&gt;
&lt;li&gt;可以包含一个或多个事件标识符 &lt;code&gt;(event ID)&lt;/code&gt;，以 &lt;code&gt;event:&lt;/code&gt; 开头。事件标识符可以用于标识服务器发送的数据类型。&lt;/li&gt;
&lt;li&gt;可以包含一个或多个注释，以 : 开头。&lt;/li&gt;
&lt;li&gt;可以包含一个可选的重试时间 &lt;code&gt;(retry time)&lt;/code&gt;，以 &lt;code&gt;retry:&lt;/code&gt; 开头，表示客户端在连接断开后应该等待多长时间后重试连接。重试时间必须是以毫秒为单位的整数。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;ndash; from @chatGPT&lt;/p&gt;
&lt;h3 id=&#34;注意事项&#34;&gt;注意事项&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;当不使用 &lt;code&gt;HTTP/2&lt;/code&gt; 时，SSE 存在打开连接数的限制，这个限制对于打开多个选项卡的情况尤其痛苦，因为每个浏览器都有一个非常低的限制数量 (6)。在 Chrome 和 Firefox 中，这个问题被标记为 “不会修复”。这个限制是针对每个浏览器 + 域名的，这意味着您可以在所有选项卡中打开 6 个 SSE 连接到 &lt;a href=&#34;https://www.example1.com&#34;&gt;www.example1.com&lt;/a&gt;，以及另外 6 个 SSE 连接到 &lt;a href=&#34;https://www.example2.com&#34;&gt;www.example2.com&lt;/a&gt;（&lt;a href=&#34;https://stackoverflow.com/questions/5195452/websockets-vs-server-sent-events-eventsource/5326159&#34;&gt;根据 Stackoverflow 的说法&lt;/a&gt;）。在使用 HTTP/2 时，最大并发 HTTP 流的数量是服务器和客户端协商的（默认为 100）。 &amp;ndash; from &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#sect1&#34;&gt;MDN&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>为不同的 git repo 配置 ssh key、gitconfig</title>
      <link>https://genffy.com/posts/ssh-key-with-gitconfig-for-different-repo/</link>
      <pubDate>Wed, 08 Mar 2023 16:02:23 +0800</pubDate>
      <guid>https://genffy.com/posts/ssh-key-with-gitconfig-for-different-repo/</guid>
      <description>&lt;h2 id=&#34;对不同的邮箱生成不同的-ssh-key&#34;&gt;对不同的邮箱生成不同的 ssh key&lt;/h2&gt;
&lt;h3 id=&#34;生成密钥对&#34;&gt;生成密钥对&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 设置公司的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh-keygen -t rsa -C &lt;span class=&#34;s2&#34;&gt;&amp;#34;zhengfei.li@orgname.com&amp;#34;&lt;/span&gt; -f ~/.ssh/gitlab_rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 设置默认的，一般都是给 gitlab 用的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh-keygen -t rsa -C &lt;span class=&#34;s2&#34;&gt;&amp;#34;genffyl@gmail.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看生成的密钥对&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -la ~/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -rw-------    1 genffy  staff  2610 Feb 15 17:48 gitlab_rsa&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -rw-r--r--    1 genffy  staff   578 Feb 15 17:48 gitlab_rsa.pub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -rw-------    1 genffy  staff  2602 Feb 15 17:51 id_rsa&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -rw-r--r--    1 genffy  staff   571 Feb 15 17:51 id_rsa.pub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;创建配置文件&#34;&gt;创建配置文件&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim .ssh/config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;填入以下内容&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# gitlab.orgname.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Host gitlab.orgname.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  AddKeysToAgent yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  UseKeychain yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  IdentityFile ~/.ssh/gitlab_rsa
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  User zhengfei.li@orgname.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# github.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Host github.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#  AddKeysToAgent yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#  UseKeychain yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#  IdentityFile ~/.ssh/github_rsa&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#  User genffyl@gmail.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;测试设置效果&#34;&gt;测试设置效果&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -T git@github.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Hi genffy! You&amp;#39;ve successfully authenticated, but GitHub does not provide shell access.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -T git@gitlab.orgname.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Welcome to GitLab, @zhengfei.li!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;配置不同的-git-目录使用不同的密钥&#34;&gt;配置不同的 git 目录使用不同的密钥&lt;/h2&gt;
&lt;h3 id=&#34;复制默认的-gitconfig&#34;&gt;复制默认的 &lt;code&gt;.gitconfig&lt;/code&gt;&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .gitconfig .gitconfig-gitlab
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .gitconfig .gitconfig-id
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;编辑不同的配置文件的-user-信息&#34;&gt;编辑不同的配置文件的 &lt;code&gt;user&lt;/code&gt; 信息&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim .gitconfig-gitlab
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhengfei&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;li&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;zhengfei&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;li&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;orgname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;signingkey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;~/&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gitlab_rsa&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pull&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;rebase&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;filter&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;lfs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;process&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;git-lfs&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;filter-process&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;required&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;clean&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;git-lfs&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;clean&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;--&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;smudge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;git-lfs&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;smudge&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;--&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;init&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;defaultBranch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;commit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;gpgsign&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gpg&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ssh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim .gitconfig-id
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;genffy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;email&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;genffyl&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gmail&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;signingkey&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;~/&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;id_rsa&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pull&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;rebase&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;filter&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;lfs&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;process&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;git-lfs&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;filter-process&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;required&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;clean&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;git-lfs&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;clean&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;--&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;smudge&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;git-lfs&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;smudge&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;--&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;init&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;defaultBranch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;commit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;gpgsign&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gpg&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;format&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ssh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;设置不同仓库目录使用不同-gitconfig&#34;&gt;设置不同仓库目录使用不同 &lt;code&gt;.gitconfig&lt;/code&gt;&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim .gitconfig
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;includeIf&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gitdir:~/workspace/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gitconfig-id&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;includeIf&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;gitdir:~/Documents/workspace/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;gitconfig-gitlab&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最后可以在不同的目录下，修改下代码提交测试效果&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
