<?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>http://www.huayouinfo.com/tags/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/</link><description>Recent content in 开发工具 on 小优</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 07 Apr 2026 23:00:00 +0800</lastBuildDate><atom:link href="http://www.huayouinfo.com/tags/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/index.xml" rel="self" type="application/rss+xml"/><item><title>Git入门实战教程</title><link>http://www.huayouinfo.com/posts/git%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98%E6%95%99%E7%A8%8B/</link><pubDate>Tue, 07 Apr 2026 23:00:00 +0800</pubDate><guid>http://www.huayouinfo.com/posts/git%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98%E6%95%99%E7%A8%8B/</guid><description>从零开始学习Git，这篇教程帮你快速掌握版本控制的核心概念和常用命令。无论是开发项目还是协作开发，Git都是必备技能。</description><content:encoded><![CDATA[<h2 id="背景问题">背景/问题</h2>
<p>你是否遇到这样的情况：代码改乱了想回退却回退不了？多人协作开发不知道谁改了什么？文件备份繁琐又容易丢失？</p>
<p>这些都是没有使用版本控制系统的问题。Git是目前最流行的版本控制系统，学会Git可以：</p>
<ul>
<li>记录代码的每一次修改，随时回退到任意版本</li>
<li>多人协作开发，互不影响</li>
<li>优雅地管理代码版本，再也不怕改错</li>
</ul>
<h2 id="环境信息">环境信息</h2>
<ul>
<li><strong>操作系统</strong>：Windows/Mac/Linux 均可</li>
<li><strong>软件版本</strong>：Git 2.30+</li>
<li><strong>相关依赖</strong>：无</li>
</ul>
<h2 id="一核心概念">一、核心概念</h2>
<h3 id="11-什么是git">1.1 什么是Git？</h3>
<p>Git是一个分布式版本控制系统，可以追踪文件的修改历史，记录&quot;谁在什么时候改了什么&quot;。</p>
<h3 id="12-三个区域">1.2 三个区域</h3>
<p>理解Git的三个区域非常重要：</p>
<table>
  <thead>
      <tr>
          <th>区域</th>
          <th>说明</th>
          <th>命令</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>工作区</td>
          <td>你正在编辑的文件</td>
          <td>-</td>
      </tr>
      <tr>
          <td>暂存区</td>
          <td>准备提交的修改</td>
          <td><code>git add</code></td>
      </tr>
      <tr>
          <td>版本库</td>
          <td>已提交的修改历史</td>
          <td><code>git commit</code></td>
      </tr>
  </tbody>
</table>
<h3 id="13-状态流转">1.3 状态流转</h3>
<pre tabindex="0"><code>工作区 → git add → 暂存区 → git commit → 版本库
</code></pre><h2 id="二实现步骤">二、实现步骤</h2>
<h3 id="21-安装git">2.1 安装Git</h3>
<p><strong>Windows</strong>：
下载安装包：https://git-scm.com/downloads</p>
<p><strong>Mac</strong>：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>brew install git
</span></span></code></pre></div><p><strong>Linux</strong>：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo apt install git  <span style="color:#75715e"># Debian/Ubuntu</span>
</span></span><span style="display:flex;"><span>sudo yum install git  <span style="color:#75715e"># CentOS</span>
</span></span></code></pre></div><h3 id="22-配置git">2.2 配置Git</h3>
<p>安装完成后，先配置用户名和邮箱：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 配置用户名</span>
</span></span><span style="display:flex;"><span>git config --global user.name <span style="color:#e6db74">&#34;你的名字&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 配置邮箱</span>
</span></span><span style="display:flex;"><span>git config --global user.email <span style="color:#e6db74">&#34;your@email.com&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 查看配置</span>
</span></span><span style="display:flex;"><span>git config --list
</span></span></code></pre></div><h3 id="23-创建仓库">2.3 创建仓库</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 创建新文件夹</span>
</span></span><span style="display:flex;"><span>mkdir myproject
</span></span><span style="display:flex;"><span>cd myproject
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 初始化仓库</span>
</span></span><span style="display:flex;"><span>git init
</span></span></code></pre></div><h3 id="24-基础操作流程">2.4 基础操作流程</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 查看当前状态</span>
</span></span><span style="display:flex;"><span>git status
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 添加文件到暂存区</span>
</span></span><span style="display:flex;"><span>git add filename.txt
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 或者添加所有文件</span>
</span></span><span style="display:flex;"><span>git add .
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 提交到版本库</span>
</span></span><span style="display:flex;"><span>git commit -m <span style="color:#e6db74">&#34;提交说明&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 查看提交历史</span>
</span></span><span style="display:flex;"><span>git log
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 查看工作区和版本库的差异</span>
</span></span><span style="display:flex;"><span>git diff
</span></span></code></pre></div><h3 id="25-分支操作">2.5 分支操作</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 查看分支</span>
</span></span><span style="display:flex;"><span>git branch
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 创建新分支</span>
</span></span><span style="display:flex;"><span>git branch feature-login
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 切换分支</span>
</span></span><span style="display:flex;"><span>git checkout feature-login
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 创建并切换分支</span>
</span></span><span style="display:flex;"><span>git checkout -b feature-register
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 合并分支</span>
</span></span><span style="display:flex;"><span>git checkout main
</span></span><span style="display:flex;"><span>git merge feature-login
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 删除分支</span>
</span></span><span style="display:flex;"><span>git branch -d feature-login
</span></span></code></pre></div><h3 id="26-远程仓库">2.6 远程仓库</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 克隆远程仓库</span>
</span></span><span style="display:flex;"><span>git clone https://github.com/username/repo.git
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 添加远程仓库</span>
</span></span><span style="display:flex;"><span>git remote add origin https://github.com/username/repo.git
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 推送到远程</span>
</span></span><span style="display:flex;"><span>git push origin main
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 拉取远程更新</span>
</span></span><span style="display:flex;"><span>git pull origin main
</span></span></code></pre></div><h2 id="三常见问题踩坑记录">三、常见问题/踩坑记录</h2>
<h3 id="问题-1提交信息写错了">问题 1：提交信息写错了</h3>
<p><strong>错误信息</strong>：提交后发现说明写错了</p>
<p><strong>解决方案</strong>：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 修改最后一次提交的信息</span>
</span></span><span style="display:flex;"><span>git commit --amend -m <span style="color:#e6db74">&#34;正确的提交说明&#34;</span>
</span></span></code></pre></div><h3 id="问题-2文件改错了想要撤销">问题 2：文件改错了想要撤销</h3>
<p><strong>原因分析</strong>：工作区的修改不想要了</p>
<p><strong>解决方案</strong>：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 撤销工作区的修改</span>
</span></span><span style="display:flex;"><span>git checkout -- filename.txt
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 撤销暂存区的修改（已add但未commit）</span>
</span></span><span style="display:flex;"><span>git reset HEAD filename.txt
</span></span></code></pre></div><h3 id="问题-3合并冲突">问题 3：合并冲突</h3>
<p><strong>错误信息</strong>：Auto-merging failed; fix conflicts and then commit the result.</p>
<p><strong>解决方案</strong>：</p>
<ol>
<li>打开冲突文件，查看冲突标记</li>
<li>手动解决冲突，删除&laquo;&laquo;、====、&raquo;&raquo;</li>
<li><code>git add</code> 解决后的文件</li>
<li><code>git commit</code> 完成合并</li>
</ol>
<h3 id="问题-4误删了文件想要恢复">问题 4：误删了文件想要恢复</h3>
<p><strong>解决方案</strong>：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 查看删除记录</span>
</span></span><span style="display:flex;"><span>git log --all --full-history -- yourfile.txt
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># 恢复到删除前的版本</span>
</span></span><span style="display:flex;"><span>git checkout HEAD~1 -- yourfile.txt
</span></span></code></pre></div><h2 id="四最佳实践总结">四、最佳实践/总结</h2>
<h3 id="常用命令速查表">常用命令速查表</h3>
<table>
  <thead>
      <tr>
          <th>命令</th>
          <th>说明</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>git init</code></td>
          <td>初始化仓库</td>
      </tr>
      <tr>
          <td><code>git status</code></td>
          <td>查看状态</td>
      </tr>
      <tr>
          <td><code>git add .</code></td>
          <td>添加所有文件</td>
      </tr>
      <tr>
          <td><code>git commit -m &quot;说明&quot;</code></td>
          <td>提交</td>
      </tr>
      <tr>
          <td><code>git log</code></td>
          <td>查看历史</td>
      </tr>
      <tr>
          <td><code>git branch</code></td>
          <td>查看分支</td>
      </tr>
      <tr>
          <td><code>git checkout -b</code></td>
          <td>创建并切换</td>
      </tr>
      <tr>
          <td><code>git push</code></td>
          <td>推送到远程</td>
      </tr>
      <tr>
          <td><code>git pull</code></td>
          <td>拉取远程</td>
      </tr>
  </tbody>
</table>
<h3 id="提交信息规范">提交信息规范</h3>
<p>好的提交信息能让你快速定位历史版本：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 推荐格式</span>
</span></span><span style="display:flex;"><span>git commit -m <span style="color:#e6db74">&#34;feat: 添加用户登录功能&#34;</span>
</span></span><span style="display:flex;"><span>git commit -m <span style="color:#e6db74">&#34;fix: 修复购物车计数bug&#34;</span>
</span></span><span style="display:flex;"><span>git commit -m <span style="color:#e6db74">&#34;docs: 更新README文档&#34;</span>
</span></span></code></pre></div><h3 id="建议">建议</h3>
<ol>
<li>每次功能完成后再commit，不要频繁提交</li>
<li>提交信息要清晰，说明做了什么</li>
<li>推送前先pull，保持代码最新</li>
<li>重要分支（如main）不要直接推送代码</li>
</ol>
<h2 id="参考链接">参考链接</h2>
<ul>
<li>Git官网：https://git-scm.com</li>
<li>Pro Git书籍：https://git-scm.com/book/zh/v2</li>
<li>廖雪峰Git教程：https://www.liaoxuefeng.com/wiki/0013739636309609586fd3e19109f0fb9b2b3bc00</li>
</ul>
]]></content:encoded></item></channel></rss>