{
  "id": "01a0d7a0-a6f6-726f-82eb-acc285654853",
  "title": "Git 入门指南",
  "slug": "ybxguk9ubnf8j6p",
  "editDate": "2026-10-12T09:21:40.098734430Z",
  "createDate": "2026-09-25T09:56:07.847451374Z",
  "tags": [
    "技术"
  ],
  "summary": "本文是一份面向新手的 Git 入门指南，涵盖 Windows、Linux 和 macOS 下的安装方法、用户信息配置、隐私邮箱、换行符及代理设置，并详细介绍仓库初始化、代码提交、远程同步、分支管理与合并等常用命令，帮助开发者快速掌握 Git 的基本操作与日常开发流程。",
  "coverImage": "/post-images/ybxguk9ubnf8j6p/cover-26df727a484a.webp",
  "shareImage": "/post-images/ybxguk9ubnf8j6p/cover-26df727a484a.jpg",
  "html": "<h2 id=\"heading-安装指引-0\">安装指引</h2><h3 id=\"heading-在-windows-下安装-1\"><strong>在 Windows 下安装</strong></h3><p>打开 <a href=\"https://git-scm.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Git 官网</a>，下载会自动开始，运行下载的可执行文件跟随指引安装。</p><h3 id=\"heading-在-linux-下安装-2\"><strong>在 Linux 下安装</strong></h3><p><strong>Debian/Ubuntu</strong></p><p>用以下命令来安装最新的发布版 Git：</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\"><span class=\"hljs-built_in\">sudo</span> apt-get install git</code></pre></div><p>Ubuntu 系统还可使用以下命令来安装最新的稳定 Upstream 版 Git：</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\"><span class=\"hljs-built_in\">sudo</span> add-apt-repository ppa:git-core/ppa\n<span class=\"hljs-built_in\">sudo</span> apt update; apt install git</code></pre></div><p>RedHat 企业版 Linux，Oracle Linux 等其他衍生版本可使用 <code>dnf</code> 命令来安装：</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\"><span class=\"hljs-built_in\">sudo</span> dnf install git-all</code></pre></div><h3 id=\"heading-在-mac-os-x-下安装-3\"><strong>在 Mac OS X 下安装</strong></h3><p><strong>Homebrew</strong></p><p>如果你安装了 Homebrew，可以通过以下命令来安装：</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-Shell hljs\">brew install git</code></pre></div><p><strong>安装包安装</strong></p><p>从 Git官网 下载后根据提示安装。</p><h2 id=\"heading-git-基础信息设置-4\"><strong>Git 基础信息设置</strong></h2><h3 id=\"heading-初始化用户信息-5\"><strong>初始化用户信息</strong></h3><p>在第一次安装并使用 Git 时，有可能会遇到无法推送的情况。那是因为还没有配置使用者信息。可以使用如下命令设置。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git config --<span class=\"hljs-keyword\">global</span> user.name <span class=\"hljs-string\">\"xxx\"</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"hljs-meta\"># 配置用户名</span>\ngit config --<span class=\"hljs-keyword\">global</span> user.email <span class=\"hljs-string\">\"xxx@xxx.com\"</span> &nbsp;  <span class=\"hljs-meta\"># 配置邮件（优先建议适用各代码托管平台的隐私邮箱，原因后续会说）</span></code></pre></div><blockquote><p><strong>⚠️特别说明：</strong><br>有些人可能会使用 \"--system\" 参数设置用户信息，个人使用一般情况下也是可以的。“system” 的设置的是系统所有用户的配置信息，“global” 的设置的是当前用户的配置信息。</p></blockquote><h3 id=\"heading-隐私邮箱问题-6\"><strong>隐私邮箱问题</strong></h3><p>如果你在 GitHub 开启了“Keep my email addresses private”（保持邮箱私有），并且勾选了“Block command line pushes that expose my email”（阻止暴露我邮箱的命令行推送），当你尝试 <code>git push</code> 时，终端会返回如下 <strong>GH007</strong> 错误：</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-plaintext hljs\">remote: error: GH007: Your push would publish a private email address.\nremote: You can verify your email address configuration here: https://github.com/settings/emails\nTo https://github.com/username/repo.git\n ! [remote rejected] main -&gt; main (push declined due to email privacy restrictions)\nerror: failed to push some refs to 'https://github.com/username/repo.git'</code></pre></div><p><strong>解决方案：</strong> 登录 GitHub，点击头像 -&gt; Settings，在左侧菜单选择 Emails，在 \"Keep my email addresses private\" 选项下方，会看到一个系统分配的隐私邮箱地址。通常格式为：<code>ID+用户名@users.noreply.github.com</code>。然后重新执行上面的邮箱设置命令即可。</p><h3 id=\"heading-换行符问题-7\">换行符问题</h3><p>当执行代码提交操作时，可能会遇到如下提示信息，这就是最常见的换行符问题。</p><p>简单解释就是，Git 发现文件里用的是 LF（Linux风格）。又因为是在 Windows 上干活，为了在本地编辑器里看着舒服，所以把本地文件变成了 CRLF。但是！当提交到仓库里时，Git 会自动帮你把它们都变回 LF。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-plaintext hljs\">warning: LF will be replaced by CRLF in file_name.txt.\nThe file will have its original line endings in your working directory.</code></pre></div><p><strong>解决方案：</strong> 让 Git 在<strong>提交时</strong>把 CRLF 转成 LF，在<strong>检出时</strong>把 LF 转成 CRLF（为了兼容 Windows 工具）。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git config --<span class=\"hljs-keyword\">global</span> core.autocrlf <span class=\"hljs-literal\">true</span></code></pre></div><h3 id=\"heading-系统代理-8\"><strong>系统代理</strong></h3><p>在中国大陆使用代理软件（VPN/梯子）并且开了全局模式，Git 在执行部分操作时依旧报错。SSH 的进阶操作，这里不做展示。如有需要请自行修改相关配置文件。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\"><span class=\"hljs-comment\"># 查看当前 Git 全局代理信息 (HTTP/HTTPS 协议)</span>\ngit config --<span class=\"hljs-keyword\">global</span> http.proxy\ngit config --<span class=\"hljs-keyword\">global</span> https.proxy\n\n<span class=\"hljs-comment\"># 设置 Git 代理 (HTTP/HTTPS 协议)</span>\n<span class=\"hljs-comment\"># 端口号仅作示例展示，实际使用请替换为实际端口号。</span>\ngit config --<span class=\"hljs-keyword\">global</span> http.proxy <span class=\"hljs-string\">'http://127.0.0.1:7890'</span>  <span class=\"hljs-comment\"># 设置http代理</span>\ngit config --<span class=\"hljs-keyword\">global</span> https.proxy <span class=\"hljs-string\">'socks5://127.0.0.1:7890'</span> <span class=\"hljs-comment\"># 设置https代理</span>\n\n<span class=\"hljs-comment\"># 取消 Git 代理</span>\ngit config --<span class=\"hljs-keyword\">global</span> --<span class=\"hljs-keyword\">unset</span> http.proxy\ngit config --<span class=\"hljs-keyword\">global</span> --<span class=\"hljs-keyword\">unset</span> https.proxy\n\n<span class=\"hljs-comment\"># 只对 github.com 设置代理</span>\ngit config --<span class=\"hljs-keyword\">global</span> http.https:<span class=\"hljs-comment\">//github.com.proxy http://127.0.0.1:7890</span>\ngit config --<span class=\"hljs-keyword\">global</span> https.https:<span class=\"hljs-comment\">//github.com.proxy http://127.0.0.1:7890</span></code></pre></div><p></p><h2 id=\"heading-git-基础命令-9\">Git 基础命令</h2><p>这里的命令一般是项目初始化阶段和日常的开发循环过程中会涉及的命令。</p><h3 id=\"heading-init初始化-10\"><strong>init：初始化</strong></h3><p><strong>作用：</strong>在当前文件夹创建一个新的空 Git 仓库。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git <span class=\"hljs-keyword\">init</span>  <span class=\"hljs-meta\"># 完成项目的初始化</span></code></pre></div><h3 id=\"heading-clone克隆-11\"><strong>clone：克隆</strong></h3><p><strong>作用：</strong>下载远程仓库 <code>https://github.com/username/project.git</code> 的所有内容（代码、历史记录）并将其同步到本地的当前目录下。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git <span class=\"hljs-built_in\">clone</span> https://github.com/username/project.git</code></pre></div><h3 id=\"heading-remote远程管理-12\">remote：远程管理</h3><p><strong>作用</strong>：管理远程仓库的连接。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git remote -v                     <span class=\"hljs-meta\"># 查看当前的远程仓库地址</span>\ngit remote <span class=\"hljs-keyword\">add</span> origin &lt;URL&gt;       <span class=\"hljs-meta\"># 添加一个新的远程地址，命名为 origin</span></code></pre></div><h3 id=\"heading-add添加暂存-13\">add：添加/暂存</h3><p><strong>作用</strong>：将文件添加到“暂存区”。这是提交前的准备步骤。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git <span class=\"hljs-keyword\">add</span> .           <span class=\"hljs-meta\"># 添加当前目录下的所有变动（最常用）</span>\ngit <span class=\"hljs-keyword\">add</span> <span class=\"hljs-keyword\">file</span>.txt    <span class=\"hljs-meta\"># 添加指定文件</span></code></pre></div><h3 id=\"heading-commit提交-14\">commit：提交</h3><p><strong>作用</strong>：将“暂存区”的内容正式存入版本历史。<strong>必须写提交信息。</strong></p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git <span class=\"hljs-keyword\">commit</span> <span class=\"hljs-operator\">-</span>m \"修复了登录页面的Bug\"</code></pre></div><h3 id=\"heading-push推送-15\"><strong>push：推送</strong></h3><p><strong>作用</strong>：将本地的 commit 上传到远程服务器。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git push origin <span class=\"hljs-selector-tag\">main</span>    # 将本地代码推送到远程的 <span class=\"hljs-selector-tag\">main</span> 分支</code></pre></div><h3 id=\"heading-pull拉取-16\">pull：拉取</h3><p><strong>作用</strong>：从远程获取更新并与本地代码合并（相当于 <code>fetch</code> + <code>merge</code>）。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git pull origin <span class=\"hljs-selector-tag\">main</span></code></pre></div><h2 id=\"heading-git-进阶命令-17\">Git 进阶命令</h2><h3 id=\"heading-branch分支管理-18\">branch：分支管理</h3><p><strong>作用</strong>：列出、创建或删除分支。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git branch                <span class=\"hljs-meta\"># 列出所有本地分支</span>\ngit branch <span class=\"hljs-keyword\">new</span>-feature    <span class=\"hljs-meta\"># 创建一个名为 new-feature 的新分支</span>\ngit branch -d old-branch  <span class=\"hljs-meta\"># 删除分支</span></code></pre></div><h3 id=\"heading-checkout切换检出-19\">checkout：切换/检出</h3><p><strong>作用</strong>：切换分支，或者丢弃本地修改。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git checkout main          <span class=\"hljs-meta\"># 切换回 main 分支</span>\ngit checkout -b dev        <span class=\"hljs-meta\"># 创建并立即切换到 dev 分支</span>\ngit checkout -- <span class=\"hljs-keyword\">file</span>.txt   <span class=\"hljs-meta\"># 危险操作：丢弃 file.txt 的所有修改，恢复到上一次提交的状态</span></code></pre></div><blockquote><p>⚠️特别说明：<br>新版 Git 推荐用 <code>git switch</code> 切换分支，但 <code>checkout</code> 依然通用)</p></blockquote><h3 id=\"heading-merge合并-20\">merge：合并</h3><p><strong>作用</strong>：将指定分支的代码合并到<strong>当前</strong>分支。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git checkout <span class=\"hljs-selector-tag\">main</span>   # 从当前分支切换回 <span class=\"hljs-selector-tag\">main</span> 分支\ngit merge dev       # 将 dev 开发分支合并进 <span class=\"hljs-selector-tag\">main</span> 分支</code></pre></div><h3 id=\"heading-log日志-21\">log：日志</h3><p><strong>作用</strong>：查看提交历史列表。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git <span class=\"hljs-built_in\">log</span>            <span class=\"hljs-comment\"># 查看详细历史</span>\ngit <span class=\"hljs-built_in\">log</span> --oneline  <span class=\"hljs-comment\"># 查看简洁的一行历史（推荐）</span></code></pre></div><h3 id=\"heading-show展示-22\">show：展示</h3><p><strong>作用</strong>：查看某一次提交的具体代码变动。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git show               <span class=\"hljs-comment\"># 查看最近一次提交的详情</span>\ngit show &lt;commit-<span class=\"hljs-built_in\">hash</span>&gt; <span class=\"hljs-comment\"># 查看指定 ID 的提交详情</span></code></pre></div><h3 id=\"heading-grep搜索-23\">grep：搜索</h3><p><strong>作用</strong>：在项目的所有文件中搜索关键词（比普通搜索更快，因为它只搜 Git 跟踪的文件）。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git <span class=\"hljs-keyword\">grep</span> <span class=\"hljs-string\">\"password\"</span>  <span class=\"hljs-comment\"># 查找哪里写了 password 这个词</span></code></pre></div><h3 id=\"heading-stash暂存隐藏-24\">stash：暂存(隐藏)</h3><p><strong>作用</strong>：你正在写代码，突然需要切换分支修复 Bug，但现在的代码还不想提交。用 stash 把现场“藏”起来。</p><div class=\"code-block\"><button type=\"button\" class=\"copy-btn\" aria-label=\"复制代码\">复制</button><pre><code class=\"language-shellscript hljs\">git stash       <span class=\"hljs-comment\"># 暂存当前所有修改（工作区瞬间变干净）</span>\n\n<span class=\"hljs-comment\"># ...去修其他 Bug...</span>\n\ngit stash <span class=\"hljs-keyword\">pop</span>   <span class=\"hljs-comment\"># 恢复刚才暂存的修改，继续干活</span></code></pre></div><p></p>",
  "toc": [
    {
      "id": "heading-安装指引-0",
      "text": "安装指引",
      "level": 2
    },
    {
      "id": "heading-在-windows-下安装-1",
      "text": "在 Windows 下安装",
      "level": 3
    },
    {
      "id": "heading-在-linux-下安装-2",
      "text": "在 Linux 下安装",
      "level": 3
    },
    {
      "id": "heading-在-mac-os-x-下安装-3",
      "text": "在 Mac OS X 下安装",
      "level": 3
    },
    {
      "id": "heading-git-基础信息设置-4",
      "text": "Git 基础信息设置",
      "level": 2
    },
    {
      "id": "heading-初始化用户信息-5",
      "text": "初始化用户信息",
      "level": 3
    },
    {
      "id": "heading-隐私邮箱问题-6",
      "text": "隐私邮箱问题",
      "level": 3
    },
    {
      "id": "heading-换行符问题-7",
      "text": "换行符问题",
      "level": 3
    },
    {
      "id": "heading-系统代理-8",
      "text": "系统代理",
      "level": 3
    },
    {
      "id": "heading-git-基础命令-9",
      "text": "Git 基础命令",
      "level": 2
    },
    {
      "id": "heading-init初始化-10",
      "text": "init：初始化",
      "level": 3
    },
    {
      "id": "heading-clone克隆-11",
      "text": "clone：克隆",
      "level": 3
    },
    {
      "id": "heading-remote远程管理-12",
      "text": "remote：远程管理",
      "level": 3
    },
    {
      "id": "heading-add添加暂存-13",
      "text": "add：添加/暂存",
      "level": 3
    },
    {
      "id": "heading-commit提交-14",
      "text": "commit：提交",
      "level": 3
    },
    {
      "id": "heading-push推送-15",
      "text": "push：推送",
      "level": 3
    },
    {
      "id": "heading-pull拉取-16",
      "text": "pull：拉取",
      "level": 3
    },
    {
      "id": "heading-git-进阶命令-17",
      "text": "Git 进阶命令",
      "level": 2
    },
    {
      "id": "heading-branch分支管理-18",
      "text": "branch：分支管理",
      "level": 3
    },
    {
      "id": "heading-checkout切换检出-19",
      "text": "checkout：切换/检出",
      "level": 3
    },
    {
      "id": "heading-merge合并-20",
      "text": "merge：合并",
      "level": 3
    },
    {
      "id": "heading-log日志-21",
      "text": "log：日志",
      "level": 3
    },
    {
      "id": "heading-show展示-22",
      "text": "show：展示",
      "level": 3
    },
    {
      "id": "heading-grep搜索-23",
      "text": "grep：搜索",
      "level": 3
    },
    {
      "id": "heading-stash暂存隐藏-24",
      "text": "stash：暂存(隐藏)",
      "level": 3
    }
  ],
  "images": [],
  "wordCount": 1661,
  "readingMinutes": 7,
  "searchText": "git 入门指南 本文是一份面向新手的 git 入门指南,涵盖 windows、linux 和 macos 下的安装方法、用户信息配置、隐私邮箱、换行符及代理设置,并详细介绍仓库初始化、代码提交、远程同步、分支管理与合并等常用命令,帮助开发者快速掌握 git 的基本操作与日常开发流程。 技术 安装指引在 windows 下安装打开 git 官网,下载会自动开始,运行下载的可执行文件跟随指引安装。在 linux 下安装debian/ubuntu用以下命令来安装最新的发布版 git:sudo apt-get install gitubuntu 系统还可使用以下命令来安装最新的稳定 upstream 版 git:sudo add-apt-repository ppa:git-core/ppa sudo apt update; apt install gitredhat 企业版 linux,oracle linux 等其他衍生版本可使用 dnf 命令来安装:sudo dnf install git-all在 mac os x 下安装homebrew如果你安装了 homebrew,可以通过以下命令来安装:brew install git安装包安装从 git官网 下载后根据提示安装。git 基础信息设置初始化用户信息在第一次安装并使用 git 时,有可能会遇到无法推送的情况。那是因为还没有配置使用者信息。可以使用如下命令设置。git config --global user.name \"xxx\" # 配置用户名 git config --global user.email \"xxx@xxx.com\" # 配置邮件(优先建议适用各代码托管平台的隐私邮箱,原因后续会说)⚠️特别说明:有些人可能会使用 \"--system\" 参数设置用户信息,个人使用一般情况下也是可以的。“system” 的设置的是系统所有用户的配置信息,“global” 的设置的是当前用户的配置信息。隐私邮箱问题如果你在 github 开启了“keep my email addresses private”(保持邮箱私有),并且勾选了“block command line pushes that expose my email”(阻止暴露我邮箱的命令行推送),当你尝试 git push 时,终端会返回如下 gh007 错误:remote: error: gh007: your push would publish a private email address. remote: you can verify your email address configuration here: https://github.com/settings/emails to https://github.com/username/repo.git ! [remote rejected] main -> main (push declined due to email privacy restrictions) error: failed to push some refs to 'https://github.com/username/repo.git'解决方案: 登录 github,点击头像 -> settings,在左侧菜单选择 emails,在 \"keep my email addresses private\" 选项下方,会看到一个系统分配的隐私邮箱地址。通常格式为:id+用户名@users.noreply.github.com。然后重新执行上面的邮箱设置命令即可。换行符问题当执行代码提交操作时,可能会遇到如下提示信息,这就是最常见的换行符问题。简单解释就是,git 发现文件里用的是 lf(linux风格)。又因为是在 windows 上干活,为了在本地编辑器里看着舒服,所以把本地文件变成了 crlf。但是!当提交到仓库里时,git 会自动帮你把它们都变回 lf。warning: lf will be replaced by crlf in file_name.txt. the file will have its original line endings in your working directory.解决方案: 让 git 在提交时把 crlf 转成 lf,在检出时把 lf 转成 crlf(为了兼容 windows 工具)。git config --global core.autocrlf true系统代理在中国大陆使用代理软件(vpn/梯子)并且开了全局模式,git 在执行部分操作时依旧报错。ssh 的进阶操作,这里不做展示。如有需要请自行修改相关配置文件。# 查看当前 git 全局代理信息 (http/https 协议) git config --global http.proxy git config --global https.proxy # 设置 git 代理 (http/https 协议) # 端口号仅作示例展示,实际使用请替换为实际端口号。 git config --global http.proxy 'http://127.0.0.1:7890' # 设置http代理 git config --global https.proxy 'socks5://127.0.0.1:7890' # 设置https代理 # 取消 git 代理 git config --global --unset http.proxy git config --global --unset https.proxy # 只对 github.com 设置代理 git config --global http.https://github.com.proxy http://127.0.0.1:7890 git config --global https.https://github.com.proxy http://127.0.0.1:7890git 基础命令这里的命令一般是项目初始化阶段和日常的开发循环过程中会涉及的命令。init:初始化作用:在当前文件夹创建一个新的空 git 仓库。git init # 完成项目的初始化clone:克隆作用:下载远程仓库 https://github.com/username/project.git 的所有内容(代码、历史记录)并将其同步到本地的当前目录下。git clone https://github.com/username/project.gitremote:远程管理作用:管理远程仓库的连接。git remote -v # 查看当前的远程仓库地址 git remote add origin <url> # 添加一个新的远程地址,命名为 originadd:添加/暂存作用:将文件添加到“暂存区”。这是提交前的准备步骤。git add . # 添加当前目录下的所有变动(最常用) git add file.txt # 添加指定文件commit:提交作用:将“暂存区”的内容正式存入版本历史。必须写提交信息。git commit -m \"修复了登录页面的bug\"push:推送作用:将本地的 commit 上传到远程服务器。git push origin main # 将本地代码推送到远程的 main 分支pull:拉取作用:从远程获取更新并与本地代码合并(相当于 fetch + merge)。git pull origin maingit 进阶命令branch:分支管理作用:列出、创建或删除分支。git branch # 列出所有本地分支 git branch new-feature # 创建一个名为 new-feature 的新分支 git branch -d old-branch # 删除分支checkout:切换/检出作用:切换分支,或者丢弃本地修改。git checkout main # 切换回 main 分支 git checkout -b dev # 创建并立即切换到 dev 分支 git checkout -- file.txt # 危险操作:丢弃 file.txt 的所有修改,恢复到上一次提交的状态⚠️特别说明:新版 git 推荐用 git switch 切换分支,但 checkout 依然通用)merge:合并作用:将指定分支的代码合并到当前分支。git checkout main # 从当前分支切换回 main 分支 git merge dev # 将 dev 开发分支合并进 main 分支log:日志作用:查看提交历史列表。git log # 查看详细历史 git log --oneline # 查看简洁的一行历史(推荐)show:展示作用:查看某一次提交的具体代码变动。git show # 查看最近一次提交的详情 git show <commit-hash> # 查看指定 id 的提交详情grep:搜索作用:在项目的所有文件中搜索关键词(比普通搜索更快,因为它只搜 git 跟踪的文件)。git grep \"password\" # 查找哪里写了 password 这个词stash:暂存(隐藏)作用:你正在写代码,突然需要切换分支修复 bug,但现在的代码还不想提交。用 stash 把现场“藏”起来。git stash # 暂存当前所有修改(工作区瞬间变干净) # ...去修其他 bug... git stash pop # 恢复刚才暂存的修改,继续干活",
  "dataSource": "halo",
  "sourceVersion": "7234a622f4b2b7ff652491517a12e7f7144c4d3a99f1108323d968c91498134a",
  "syncSchemaVersion": 9
}