从零配置Git到Gitee首次推送:Windows/Mac全链路实操指南

发布时间:2026/9/17 6:32:18
从零配置Git到Gitee首次推送:Windows/Mac全链路实操指南 1. 项目概述从零开始把本地代码推送到 Gitee 远程仓库不是“点一下就完事”的幻觉你刚写完一个 Python 小工具或者完成了一个 Vue 前端页面文件夹里堆着几十个.py、.vue、.js文件目录结构也理得差不多了——但它们只躺在你电脑的 D 盘某个角落连 Git 都没碰过。这时候你想把它“上传到 Gitee”搜出来的教程第一句往往是“先git init再git add .然后git commit -m init……”——听起来很顺可当你真打开终端敲下git init系统回你一句bash: git: command not found你才意识到Git 根本没装。这不是操作失误是环境缺失不是命令记错是地基没打。这正是绝大多数新手卡住的第一道墙他们以为“推送代码”是个纯 Git 操作却忽略了它是一条完整的链路——本地 Git 环境 → 本地仓库初始化 → 身份认证配置 → 远程仓库创建 → 本地与远程绑定 → 提交 推送。少其中任何一环git push origin main就会报错fatal: origin does not appear to be a git repository或者更常见的Permission denied (publickey)。而这些报错背后不是 Git 不懂语法是你没告诉它“你是谁”、 “你要推给谁”、“怎么进得去”。我带过不下 200 个刚转行的前端和 Python 学员90% 的人第一次推代码失败问题都不在push命令本身而在前四步——尤其是SSH 密钥配置。有人照着教程生成了id_rsa.pub却把公钥内容复制成了私钥有人把密钥粘贴到了 Gitee 的 SSH 设置页却忘了在本地 Git 配置里执行git config --global user.name yourname还有人用 VS Code 图形界面点“同步更改”结果弹出一堆红色报错根本看不懂哪一行在拒绝他。这不是笨是信息断层教程把“生成密钥”写成一步实际要经历“检查是否已存在密钥 → 若无则生成 → 查看公钥内容 → 复制 → 登录 Gitee 粘贴 → 测试连接”共 6 个不可跳过的子动作漏一个整条链就断。所以这篇内容不叫“Git 推送教程”它叫《从 Windows/Mac 一台干净新机出发57 分钟内完成首次 Gitee 推送的全链路实操手册》。它覆盖你真正会遇到的全部现场Git 安装时勾选哪些选项才不影响后续 VS Code 集成Gitee 创建仓库时“开源许可证”到底选 MIT 还是 Apache-2.0附真实项目选型逻辑VS Code 底部状态栏显示“main”却点不了“同步”按钮的 3 种原因以及最关键的——当ssh -T gitgitee.com返回Welcome to Gitee.com, yourname!之前你必须亲手验证的 4 个中间态信号。它不假设你会命令行也不回避 VS Code 界面操作它不省略core.autocrlf true这种看似无关却导致换行符污染的隐藏坑它甚至告诉你为什么你用管理员身份运行 Git Bash 也没用因为问题出在 Windows 的 PATH 环境变量没刷新。如果你正对着一个空文件夹发愁“怎么把它变成 Gitee 上的仓库”或者刚在 VS Code 里写了 200 行代码却不敢点那个绿色的“√”提交按钮——这篇就是为你写的。它不讲 Git 原理图谱只解决你按下回车键那一刻的真实反馈它不堆砌 20 条冷门命令只聚焦从“没 Git”到“Gitee 仓库 URL 显示在 VS Code 源代码管理面板右下角”的完整闭环。接下来我们从最底层的安装开始一砖一瓦垒出这条通往远程仓库的路。2. 全链路设计思路拆解为什么必须按这个顺序走跳步白干很多人尝试过“先建 Gitee 仓库再本地git init最后git remote add origin xxx”结果push报错refusing to merge unrelated histories。这不是 Git 在刁难你是它在严格执行分布式版本控制的基本契约本地仓库和远程仓库必须有共同的祖先提交commit才能建立可追溯的合并关系。而你新建的空远程仓库它的“第一次提交”是空的你本地git init后addcommit的第一次提交它的父节点是null——两者毫无交集。Git 拒绝强行合并是对数据一致性的保护不是 bug。所以正确链路必须是先有本地仓库含至少一次有效提交再创建远程仓库最后将二者关联并推送。这个顺序不能颠倒就像你不能先给快递填好收货地址再决定把包裹寄给谁。我们来拆解每一步背后的强制逻辑2.1 为什么 Git 必须先安装且必须配置全局用户信息Git 是一个命令行工具不是操作系统自带组件。Windows 默认没有git命令Mac 的 Xcode Command Line Tools 里虽带 Git但版本老旧常为 2.20而 Gitee 对 SSH 协议支持要求 Git 2.30尤其涉及 ed25519 密钥。不安装所有后续操作都是空中楼阁。更重要的是Git 的每一次commit都会记录作者信息user.name和user.email。这个信息不是随便填的——它会永久写入提交对象的元数据成为该次修改的法律签名。你在 Gitee 仓库的“贡献图”上看到的彩色方块就是靠这个邮箱匹配的。如果没配置Git 会尝试从系统环境变量读取Windows 下常读到AdministratorDESKTOP-XXX这种无效邮箱导致提交无法关联到你的 Gitee 账号贡献统计失效。更严重的是某些 CI/CD 流水线如 Gitee Pages 自动构建会校验提交者邮箱是否属于仓库协作者非法邮箱直接拒绝构建。提示git config --global user.name yourname中的yourname必须与 Gitee 账号名完全一致区分大小写user.email必须是 Gitee 账号绑定的主邮箱。这是唯一能确保 VS Code 状态栏“提交者”显示你头像、Gitee 贡献图点亮的关键。2.2 为什么必须用 SSH 而非 HTTPS 方式连接 GiteeGitee 支持两种协议HTTPShttps://gitee.com/username/repo.git和 SSHgitgitee.com:username/repo.git。新手常选 HTTPS因为它看起来更“直白”。但 HTTPS 每次push/pull都要输入账号密码而 Gitee 已禁用明文密码登录强制使用“私人令牌Personal Access Token”。这意味着你得先去 Gitee 设置里生成一个 token再把它当密码输进 Git且 token 有权限范围如只读、读写、删除一旦泄露风险远高于密码。SSH 则是一次性配置永久生效你生成一对密钥把公钥交给 Gitee私钥留在本地。Git 通过加密握手验证身份无需每次输凭证。更重要的是VS Code 的源代码管理面板、GitHub Pull Requests Issues 插件等所有图形化工具都默认依赖 SSH 连接。如果你用 HTTPSVS Code 右下角可能显示“未配置远程”或点击“同步”后弹出空白认证框——因为 VS Code 的 Git 集成层对 HTTPS token 的处理不如 SSH 稳定。注意Gitee 的 SSH 端口是 22但国内部分企业网络会屏蔽 22 端口。若ssh -T gitgitee.com超时需改用 HTTPS 协议但必须配合 Gitee 的 Personal Access Token 使用并在git remote set-url origin https://tokengitee.com/username/repo.git中嵌入 token。这是少数必须妥协的场景但会牺牲安全性与便捷性。2.3 为什么 VS Code 的集成终端比独立 Git Bash 更值得优先使用很多教程教你在 Windows 上下载 Git for Windows然后用独立的 Git Bash 终端操作。这没错但它割裂了开发与版本控制的上下文。VS Code 的集成终端Ctrl是直接继承 VS Code 工作区路径的你打开一个文件夹终端自动 cd 到该路径git status直接显示当前项目状态。而独立 Git Bash 需要你手动cd /d/path/to/project稍不注意就 cd 错目录git add . 误操作其他项目。更关键的是VS Code 的源代码管理视图CtrlShiftG提供了可视化暂存区Staging Area管理你可以勾选单个文件进行stage避免git add .误提交.log或node_modules可以双击文件对比工作区与暂存区差异可以鼠标悬停查看某次提交的详细变更。这些能力独立终端需要git diff、git log -p等一串命令才能实现。对于新手“看见即理解”比“记住即掌握”高效十倍。但前提是VS Code 必须识别到 Git。它通过环境变量PATH查找git命令。如果你安装 Git 时没勾选 “Add Git to the system PATH”VS Code 就找不到 Git源代码管理面板会灰显提示 “Git not found”。这不是 VS Code 的问题是环境配置的衔接断点。2.4 为什么“Gitee 创建仓库”这一步必须在本地初始化之后如前所述Git 要求本地与远程有共同祖先。但还有一个更实际的原因Gitee 创建仓库时有个关键选项——“是否初始化 README.md”。如果勾选Gitee 会自动生成一个含仓库名的 README产生一次初始提交如果不勾选仓库是空的。新手常选“初始化”以为这样更规范。但这就导致远程仓库已有一次提交README而你本地git init后addcommit的第一次提交与远程的 README 提交毫无关系。git push origin main会因“unrelated histories”被拒。正确做法是Gitee 创建仓库时绝对不勾选“初始化 README”保持远程仓库为空。本地完成git init→git add .→git commit -m init后再执行git remote add origin gitgitee.com:username/repo.git此时本地有提交远程为空git push -u origin main才能成功建立跟踪分支。后续你想加 README直接在本地创建并commit即可这才是符合 Git 工作流的正向演进。3. 核心细节解析与实操要点每个动作背后的“为什么”和“怎么做”这一节不罗列命令而是聚焦你动手时最易卡壳的 5 个核心环节解释每个操作背后的机制、常见错误及验证方法。它们不是孤立步骤而是环环相扣的证据链——每一步成功都是为下一步铺路。3.1 Git 安装与环境变量配置为什么勾选“Use Git from Windows Command Prompt”是生死线Git for Windows 安装向导有 3 个关键勾选项☑ Use Git from Git Bash only☐ Use Git from Windows Command Prompt☐ Use Windows’ default console window新手常只勾第一个觉得“我用 Git Bash 就够了”。但 VS Code 的集成终端默认调用的是 Windows 的cmd.exe或PowerShell它不认识git命令除非你手动把 Git 的安装路径如C:\Program Files\Git\bin加到系统PATH环境变量。这操作对新手极不友好要进“系统属性→高级→环境变量→系统变量→PATH→编辑→新建”稍有不慎就破坏原有路径。而勾选“Use Git from Windows Command Prompt”安装程序会自动把C:\Program Files\Git\cmd含git.exe加入PATH。VS Code 启动时读取的就是这个PATH因此能立即识别git。这是最稳妥、零手动配置的方案。验证方法安装完成后不要重启电脑直接打开 VS Code按 Ctrl打开集成终端输入git --version。如果返回类似git version 2.40.1.windows.1说明成功如果返回git is not recognized as an internal or external command说明 PATH 未生效此时需重启 VS Code不是重启电脑因为 VS Code 启动时只读取一次PATH。实操心得我曾帮一位学员排查 2 小时最终发现他安装时没勾选此项又手动添加 PATH 时多打了一个空格导致路径失效。后来我总结出“三步验证法”1) Git Bash 里git --version正常2) Windows cmd 里git --version正常3) VS Code 终端里git --version正常。三者缺一不可否则 VS Code 集成必然失败。3.2 全局用户配置为什么邮箱必须是 Gitee 主邮箱且不能用 QQ 邮箱别名git config --global user.email xxxqq.com看似合理但 QQ 邮箱支持“别名”功能如xxxgiteeqq.comGitee 账号绑定的是xxxqq.com而你配置的是xxxgiteeqq.com两者不匹配。Git 提交时会用后者Gitee 无法将其关联到你的账号贡献图不亮PR 也无法标记为你的提交。更隐蔽的问题是Gitee 的邮箱校验是严格字符串匹配不忽略大小写。如果你 Gitee 账号邮箱是YourNameGitee.com而配置成yournamegitee.com提交依然不会计入贡献。必须完全一致。验证方法在项目根目录下执行git config --global user.email确认输出与 Gitee 账号设置页显示的“主邮箱”一字不差。同时在 Gitee 个人设置→邮箱管理中确保该邮箱状态为“已验证”。注意user.name不是昵称是 Gitee 账号名URL 中的 username。例如你的 Gitee 主页是https://gitee.com/zhangsan那么user.name必须是zhangsan不是张三或Zhang San。这是 Gitee API 认证的硬性要求。3.3 SSH 密钥生成与部署为什么ssh-keygen -t ed25519 -C your_emailexample.com是当前最优解Gitee 支持 RSA、ECDSA、ED25519 三种密钥类型。RSA-t rsa -b 4096最通用但密钥长、生成慢ECDSA-t ecdsa -b 521较快但部分旧版 OpenSSH 不兼容ED25519-t ed25519是目前最优选密钥仅 64 字节RSA 4096 是 512 字节生成秒级安全性等同于 RSA 10240 位且 Gitee 全面支持。生成命令ssh-keygen -t ed25519 -C your_emailexample.com -f ~/.ssh/id_ed25519_gitee其中-C是注释可任意但建议用邮箱便于识别-f指定密钥文件名避免覆盖默认的id_rsa。这样你就有专属的id_ed25519_gitee私钥和id_ed25519_gitee.pub公钥。关键操作不要用记事本打开.pub文件Windows 记事本会添加 BOM 头或错误换行导致公钥格式损坏。必须用 VS Code、Notepad 或 Git Bash 的cat ~/.ssh/id_ed25519_gitee.pub命令查看并复制确保内容以ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...开头结尾是邮箱注释中间无换行、无空格。粘贴到 Gitee个人设置→SSH 公钥→新增公钥→标题随意如 “Win11-VSCode”公钥内容粘贴整段含ssh-ed25519开头和邮箱结尾。3.4 SSH 连接测试为什么ssh -T gitgitee.com成功不等于万事大吉ssh -T gitgitee.com返回Welcome to Gitee.com, yourname!只证明两件事1) 你的公钥已正确录入 Gitee2) 本地 SSH 客户端能连通 Gitee 服务器。但它不验证你的私钥是否被 Git 正确加载。Git 使用ssh-agent管理私钥。如果你生成密钥后没启动 agent 并添加私钥git push仍会报Permission denied (publickey)。Windows 10/11 自带 OpenSSH启动 agent 的命令是# 启动 ssh-agent 服务 Get-Service ssh-agent | Set-Service -StartupType Automatic Start-Service ssh-agent # 添加私钥PowerShell ssh-add ~/.ssh/id_ed25519_gitee在 Git Bash 中则用eval $(ssh-agent -s) ssh-add ~/.ssh/id_ed25519_gitee验证 agent 是否加载成功ssh-add -l应列出你的私钥指纹。如果返回The agent has no identities.说明未添加。实操心得我见过最多的情况是——用户在 PowerShell 里执行了ssh-add但 VS Code 的集成终端是 Git Bash两者 agent 独立。解决方案是在 VS Code 集成终端Git Bash里重新执行eval $(ssh-agent -s)和ssh-add。或者更一劳永逸的方法在 Git Bash 的~/.bashrc文件末尾添加eval $(ssh-agent -s) /dev/null ssh-add ~/.ssh/id_ed25519_gitee /dev/null这样每次打开终端自动加载无需重复操作。3.5 VS Code 源代码管理面板配置为什么“初始化仓库”按钮点了没反应VS Code 的源代码管理面板CtrlShiftG右上角有个“”号提示“Initialize Repository”。但如果你刚打开一个文件夹点它没反应大概率是因为该文件夹尚未被 Git 识别为工作区。Git 识别工作区的唯一标志是根目录下存在.git文件夹。Initialize Repository按钮的本质就是执行git init命令并创建.git。如果按钮无响应说明 VS Code 没检测到 Git 命令PATH 问题或当前文件夹已被其他 Git 仓库包含如你打开了project/src而project根目录已有.git。正确做法先确保git --version在 VS Code 终端可用然后在终端里手动执行git init。成功后VS Code 会立刻刷新源代码管理面板显示“未跟踪的文件”此时你才能勾选文件进行stage。另一个常见问题是VS Code 默认启用“Git: Auto Repository Detection”但如果你的项目在 OneDrive 或 Dropbox 同步文件夹内它可能因权限问题禁用 Git。检查方法CtrlShiftP→ 输入Preferences: Open Settings (JSON)→ 查看git.autoRepositoryDetection是否为true。如果不是手动设为true并保存。4. 完整实操过程与核心环节实现从空白文件夹到 Gitee 仓库 URL 显示的 12 分钟实录现在我们进入真正的“手把手”阶段。以下是一个真实、可复现的完整流程基于一台刚重装 Windows 11 的笔记本全程使用 VS Code 作为主界面Git Bash 作为辅助终端。所有命令、路径、截图描述均来自实测时间记录精确到分钟。4.1 第 0–3 分钟安装 Git 并验证环境访问 git-scm.com/download/win 下载最新版Git-x.x.x-64-bit.exe截至 2024 年 6 月为 2.40.1。双击安装一路 Next在“Adjusting your PATH environment”页面务必勾选 “Use Git from Windows Command Prompt”这是 VS Code 能用 Git 的前提。在“Configuring the line ending conversions”页面选择“Checkout Windows-style, commit Unix-style line endings”core.autocrlf true。这是 Windows 与 Linux/macOS 混合开发的黄金配置避免.py文件因换行符CRLF vs LF被 Git 误判为“已修改”。安装完成不重启电脑直接打开 VS Code确保它读取到新 PATH。按Ctrl打开集成终端输入git --version。返回git version 2.40.1.windows.1✅ 成功。当前耗时3 分钟。此时 Git 已就绪VS Code 能调用它。4.2 第 3–5 分钟配置全局用户并创建项目文件夹在 VS Code 终端执行git config --global user.name your_gitee_username git config --global user.email your_gitee_main_emailexample.com替换为你的实际 Gitee 用户名和主邮箱。验证git config --global user.name和git config --global user.email确认输出正确。在文件资源管理器中新建文件夹D:\my-first-gitee-project。打开 VS CodeFile → Open Folder选择该文件夹。此时 VS Code 左侧资源管理器显示空文件夹底部状态栏无 Git 信息。当前耗时5 分钟。环境与身份已就绪项目容器已创建。4.3 第 5–8 分钟生成 SSH 密钥并部署到 Gitee在 VS Code 终端Git Bash 模式执行ssh-keygen -t ed25519 -C your_gitee_main_emailexample.com -f ~/.ssh/id_ed25519_gitee连续按 3 次回车不设密码方便 VS Code 自动加载。查看公钥cat ~/.ssh/id_ed25519_gitee.pub用鼠标全选并复制整段内容从ssh-ed25519到邮箱。登录 Gitee.com点击右上角头像 →设置→SSH 公钥→新增公钥。标题Win11-VSCode-MyFirstRepo公钥粘贴刚才复制的内容点击确定。回到 VS Code 终端执行ssh -T gitgitee.com。首次连接会提示The authenticity of host gitee.com (210.12.128.12) cant be established...输入yes。随后返回Welcome to Gitee.com, your_gitee_username!✅ 成功。当前耗时8 分钟。身份认证通道已打通。4.4 第 8–10 分钟在 Gitee 创建空仓库并绑定本地Gitee 首页 →→新建仓库。仓库名my-first-gitee-project必须与本地文件夹名一致避免混淆路径your_gitee_username/my-first-gitee-project关键取消勾选 “初始化 README.md” 和 “添加 .gitignore”保持远程仓库绝对空开源许可证选MIT License最宽松适合个人学习项目点击创建。仓库创建成功后页面显示git remote add origin gitgitee.com:your_gitee_username/my-first-gitee-project.git。复制此命令。切回 VS Code 终端确保当前路径是D:\my-first-gitee-project可通过pwd确认执行git remote add origin gitgitee.com:your_gitee_username/my-first-gitee-project.git无输出即成功。当前耗时10 分钟。本地与远程仓库已逻辑绑定。4.5 第 10–12 分钟初始化本地仓库、提交并推送在 VS Code 资源管理器中右键文件夹 →New File创建index.py输入print(Hello from Gitee!)保存。此时源代码管理面板CtrlShiftG应显示index.py在“未跟踪的文件”下。点击其左侧的号将其加入暂存区Stage。在“消息”输入框中输入init: first commit按CtrlEnter提交。提交后面板右下角出现main分支名和0表示暂存区为空。点击右侧的...→Publish to Remote→ 选择origin→main。首次推送会弹出窗口选择Set upstream and push。几秒后状态栏显示main右下角出现✓ Pushed且 Gitee 仓库页面自动刷新显示index.py文件和提交记录。当前耗时12 分钟。首次推送成功Gitee 仓库 URL 已显示在 VS Code 状态栏。4.6 关键参数与配置表所有命令、路径、选项的权威对照环节操作命令/配置说明验证方式Git 安装PATH 配置安装时勾选 “Use Git from Windows Command Prompt”确保 VS Code 能调用gitVS Code 终端git --version全局配置用户名git config --global user.name username必须与 Gitee 账号名完全一致git config --global user.name全局配置邮箱git config --global user.email emailexample.com必须是 Gitee 主邮箱严格匹配git config --global user.emailSSH 密钥生成ssh-keygen -t ed25519 -C email -f ~/.ssh/id_ed25519_giteeED25519 最优-f指定文件名防覆盖ls -la ~/.ssh/查看文件SSH 部署公钥复制cat ~/.ssh/id_ed25519_gitee.pub用 VS Code 或cat复制禁用记事本内容以ssh-ed25519 AAAA...开头SSH 测试连接ssh -T gitgitee.com首次需输yes成功返回Welcome...终端输出明确欢迎信息VS Code 集成初始化git init终端或面板“”按钮创建.git文件夹VS Code 才识别资源管理器可见.git文件夹远程绑定添加 origingit remote add origin gitgitee.com:user/repo.gitURL 必须与 Gitee 仓库页显示一致git remote -v显示 origin URL首次推送发布分支VS Code 面板... → Publish to Remote自动执行git push -u origin mainGitee 仓库页显示文件和提交5. 常见问题与排查技巧实录那些让你抓狂 3 小时的“幽灵错误”以下是我在一线教学和项目协作中高频遇到的 7 类问题。它们不常出现在官方文档里却是真实阻碍进度的“幽灵错误”。每个问题都附带现象、根因、3 步排查法、终极解决方案拒绝模糊描述。5.1 现象git push origin main报错fatal: origin does not appear to be a git repository根因git remote add origin ...命令未执行或执行时路径错误在错误的文件夹下运行。3 步排查pwd确认当前终端路径是否为项目根目录含.git文件夹。ls -la查看是否有.git文件夹无则git init未成功。git remote -v查看是否输出origin gitgitee.com:...无输出则remote add未执行。终极方案在项目根目录下重新执行git remote add origin gitgitee.com:yourname/repo.git。注意 URL 中的yourname/repo.git必须与 Gitee 仓库地址完全一致。5.2 现象ssh -T gitgitee.com成功但git push仍报Permission denied (publickey)根因SSH agent 未加载私钥或加载了错误的私钥。3 步排查ssh-add -l查看已加载的密钥列表。若为空说明未加载。ls -la ~/.ssh/确认私钥文件名如id_ed25519_gitee是否与ssh-add命令中的文件名一致。ssh -i ~/.ssh/id_ed25519_gitee -T gitgitee.com强制指定私钥测试。若成功说明 agent 未加载该密钥。终极方案在 VS Code 终端Git Bash执行ssh-add ~/.ssh/id_ed25519_gitee。若提示Could not open a connection to your authentication agent先执行eval $(ssh-agent -s)启动 agent。5.3 现象VS Code 源代码管理面板显示 “No source control providers registered”且“”按钮灰显根因VS Code 未检测到 Git或 Git 扩展被禁用。3 步排查CtrlShiftP→Developer: Toggle Developer Tools→ Console 标签页看是否有git相关错误如command git.init not found。CtrlShiftP→Extensions: Show Installed Extensions搜索Git确认 “Git Extension Pack” 已启用。终端执行which git确认返回路径如/usr/bin/git若返回空说明 PATH 未生效。终极方案重启 VS Code不是电脑并在启动时按住Ctrl键Windows强制重载环境变量。若仍无效卸载重装 Git安装时务必勾选 “Use Git from Windows Command Prompt”。5.4 现象推送成功但 Gitee 仓库页面显示 “Last commit: 1 hour ago”且贡献图不亮根因user.email配置错误与 Gitee 账号绑定邮箱不一致。3 步排查git log --prettyformat:%h %an %ae -1查看最后一次提交的邮箱%ae。登录 Gitee → 设置 → 邮箱管理确认主邮箱是否与上一步输出完全一致包括大小写、有无空格。git config --global user.email输出是否与上一步一致。终极方案执行git config --global user.email correct_emailexample.com然后在项目根目录下用git commit --amend --authorYour Name correct_emailexample.com --no-edit修正最后一次提交的作者邮箱再git push --force-with-lease origin main强制更新仅限首次提交无协作风险。5.5 现象git add .后VS Code 面板显示大量node_modules/xxx、__pycache__/xxx文件根因未创建.gitignore文件Git 默认跟踪所有文件。3 步排查ls -a查