尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

VSCode 图形化操作 Git 实战指南:从配置到冲突解决

VSCode 图形化操作 Git 实战指南:从配置到冲突解决 1. 为什么我强烈建议你用 VSCode 的图形界面来操作 Git先说实话Git 本身是个命令行工具网上绝大多数教程也都在教你敲命令。但我带过不少新人发现一个特别普遍的现象——命令记不住顺序搞混报错看不懂。一上来就硬啃命令行很容易在最初两周就把热情消耗光。我自己也是从命令行时代过来的git status、git add、git commit、git push 这几个命令敲了大半年才真正理解它们之间的关系。后来有一次切换到 VSCode 的源代码管理面板突然发现之前怎么都理不清的工作区、暂存区、本地仓库、远程仓库这几个概念在图形界面上看得明明白白——每个文件的状态有图标标识改动有高亮对比提交按钮就摆在眼前。从那以后我就养成了日常操作用界面复杂操作用命令行的习惯效率反倒比纯命令行高不少。VSCode 内置了完整的 Git 支持不需要装额外的插件就能完成仓库初始化、暂存、提交、推送、拉取、分支切换、合并、冲突解决这些日常高频操作。GitLens 这类增强插件则能进一步补足历史查看、代码责任人追溯等能力。对于新手这是一条平滑的学习曲线对于老手可视化 diff 和冲突解决界面也远比命令行直观。这篇文章会从零开始覆盖 VSCode 和 Git 的安装、初始化配置、SSH 密钥设置再到用图形界面完成一次完整的代码提交和推送流程最后整理我在实际使用中遇到的各种问题和对应的排查方案。所有步骤我在 Windows 和 macOS 上都实测过有系统差异的地方会单独标注。你只需要跟着一步步做就能在半天内把环境搭好、流程跑通。2. 环境准备从零装好 VSCode 和 Git2.1 VSCode 官方下载与安装步骤先说下载渠道这是很多人第一步就走错的地方。VSCode 的官网是 code.visualstudio.com注意不要跑到各种软件下载站去下载。那些站点经常捆绑垃圾软件、改主页甚至给你塞一个来路不明的修改版。我见过好几个同事电脑上的VSCode其实是第三方打包的界面长得一样但装完一堆全家桶还经常崩溃。认准官网这是第一条铁律。进入官网后页面会自动识别你的操作系统显示对应的下载按钮。Windows 用户下载 User Installer 64 bit 版本就可以macOS 用户选择 Apple Silicon 还是 Intel 版本取决于你的芯片型号。下载完成后双击安装包安装路径默认在用户目录下不需要管理员权限这点很省心。安装过程中有两个选项需要注意。第一个是添加到 PATH默认是勾选的建议保留。这个选项会让命令行里能直接输入 code 命令打开 VSCode后续配合终端使用非常方便。第二个是在文件资源管理器上下文菜单中打开和添加到打开方式列表我也建议勾上这样以后在文件夹上右键就能直接通过 Code 打开省去每次打开 VSCode 再拖文件夹的麻烦。启动之后看到英文界面是正常的中文配置放到后面专门讲。这时候你可以先按 Ctrl 呼出内置终端输入 code --version 检查一下安装是否正常。如果提示 command not found说明 PATH 没配好重启一次系统或者手动把 VSCode 的 bin 目录加到系统环境变量里就行。2.2 Git 的下载安装与 Windows 专属注意事项Git 的官方下载地址是 git-scm.com官网会自动识别操作系统并提供下载链接。Windows 版本的安装包是一个 exe直接双击运行。不过 Git 的安装向导选项比较多很多人一路狂点下一步结果后面用起来各种不对劲。我这里把几个关键选项拎出来说清楚。选择默认编辑器默认是 Vim。如果你不熟悉 Vim建议在这里改成 VSCode。不然以后在命令行里执行 git commit 弹出一个 Vim 编辑器你可能会被卡在里面不知道怎么退出。这个编辑器选项在安装完成后也可以通过 git config --global core.editor code --wait 修改。调整 PATH 环境变量保持默认的 Git from the command line and also from 3rd-party software 就行。这个选项会让 Git 的 bash 和命令工具都能在 Windows 终端里直接使用。配置行结束符转换默认选项 Checkout Windows-style, commit Unix-style line endings 适合绝大多数人这个我们后面讲 LF/CRLF 的时候再展开。使用 MinTTY 还是 Windows 自带的控制台窗口默认的 MinTTY 体验更好支持颜色高亮保持默认即可。安装完成后在任意文件夹里右键如果能看到 Git Bash Here 和 Git GUI Here 两个选项说明安装成功了。点开 Git Bash输入 git --version能看到类似 git version 2.4x.x.windows.1 的输出就是正常的。macOS 用户相对简单官网下载 pkg 安装包一路下一步即可或者通过 Homebrew 执行 brew install git 也行。macOS 首次运行 git 会触发 Xcode Command Line Tools 的安装提示那个是 Apple 官方的可以放心装。2.3 安装完成后的基础验证环境装好之后建议做两个简单的验证避免后面用的时候才发现问题。第一个验证是确认 VSCode 能识别 Git。打开 VSCode按 Ctrl Shift X 打开扩展面板搜索 Git你会看到内置的 Git 扩展是已安装状态。左侧活动栏如果出现了源代码管理图标一个带分支的圆圈图形说明 VSCode 已经检测到了 Git。如果图标没出来大多数情况是因为 Git 没装好或者没加入 PATH。第二个验证是确认 Git Bash 能正常启动。Windows 用户在开始菜单里找到 Git Bash打开后执行 git config --list如果能看到一堆配置项或者什么提示都没有说明 Git 工作正常。如果提示 git: command not found大概率是 PATH 配置有问题可以检查一下系统环境变量里有没有 Git 的 cmd 目录。到这一步你的电脑就已经具备了完整的开发基础环境。接下来我们开始配置和定制 VSCode。3. 首次启动汉化、工作区与必装插件3.1 界面语言切换成中文很多新手看到满屏英文就头大其实汉化非常简单。打开 VSCode按 Ctrl Shift X 打开扩展市场在搜索框输入 Chinese找到 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code 这个扩展。注意认准发布者是 Microsoft 官方因为市场上还有其他第三方汉化包质量参差不齐。点击 Install 安装后右下角会弹出提示框让你 Restart 重启 VSCode。重启后整个界面就变成中文了。如果没弹出重启提示也可以按 Ctrl Shift P 打开命令面板输入 Configure Display Language选择 zh-cn 再重启。这里多说一句对于有一定基础的朋友我不建议一上来就汉化。VSCode 的菜单术语跟 Git 的常用英文术语是对应的比如 Stage Changes暂存更改、Commit提交、Pull拉取、Push推送。直接用英文界面能帮助你把界面操作和命令行术语对上号以后再切到命令行不会懵。但如果你确实看着英文费劲汉化没有任何问题后面讲到操作时我也会标注对应的英文术语方便你对照。3.2 我每次重装 VSCode 都会装的插件插件是 VSCode 的灵魂但很多人一上来就装几十个插件搞得编辑器又慢又乱。我自己的原则是装必要的不装花哨的。以下这几个是我每次重装环境都会第一时间装的覆盖了从代码编辑到 Git 操作的核心需求。GitLens增强 Git 功能最强的插件。它能高亮当前行最后一次提交的人和时间点击就能看到该文件完整的提交历史还内置了可视化的分支关系图。我用它最多的是 CodeLens 功能——在每一段代码上方直接显示最近一次提交信息和作者代码 review 的时候特别有用。Prettier - Code formatter代码格式化工具。保存时自动格式化代码统一团队的代码风格。装完记得在设置里把 Editor: Format On Save 打开并把 Prettier 设置为默认格式化器。ESLintJavaScript/TypeScript 的静态检查工具。前端开发基本必装能在你写代码的同时标出潜在问题。如果你主要做 Python对应安装 Pylance 或者 flake8。Live Server前端开发实时预览工具。右键 HTML 文件选择 Open with Live Server浏览器会自动打开页面并且每次保存自动刷新写静态页面调试非常方便。Bracket Pair Colorizer 的替代方案现在 VSCode 自带括号高亮配色不需要额外装插件。同样内置的 Git 支持已经很强也不需要装额外的 Git 插件GitLens 一个就够。插件的安装方式都一样Ctrl Shift X 打开扩展面板搜索名称点击 Install。装完不需要重启VSCode 的热加载机制会立即生效。还有一个容易被忽略的功能扩展面板右上角的筛选按钮可以按 已在架 或者 内置 来查看已安装的插件。电脑配置一般的话建议定期审视插件列表把不用的卸载掉。我曾经装过一个主题插件导致编辑大文件时卡顿排查了半天才找到元凶——插件真的不是越多越好。3.3 工作区与项目文件夹的底层逻辑刚开始用 VSCode 的人经常混淆文件和文件夹的概念。VSCode 的基本单位是文件夹也就是一个项目目录。你打开一个文件夹后VSCode 会把它作为一个工作区进行管理左侧资源管理器显示的是这个文件夹内的所有文件Git 仓库也随之关联到这个目录层级。我推荐的工作方式是在电脑上建一个专门的代码目录比如 D:\Projects然后把每个项目分别放进独立的子文件夹比如 D:\Projects\my-blog、D:\Projects\demo-app。每次开发时直接 File Open Folder 选择对应的项目文件夹。这个习惯很重要因为它直接影响了 Git 仓库的组织方式。一个项目文件夹就对应一个 Git 仓库仓库根目录通常会有一个 .git 隐藏文件夹存放所有版本记录。如果你把文件散落在桌面、下载目录各处以后管理和备份都是灾难。VSCode 还有一个多根工作区的概念可以把多个文件夹聚合到一个工作区里方便同时编辑。但对 Git 操作来说我建议还是一个窗口对应一个仓库避免在两个仓库之间切换时搞混。我在刚用 VSCode 时犯过一个错误开了多根工作区结果源代码管理面板显示的提交按钮对应的是错误仓库差点把代码推错地方。从那以后我就老老实实一个窗口一个仓库。3.4 顺手把自动保存和常用设置配好装完插件之后建议花几分钟调整几个基础设置这些设置能让日常使用顺畅很多。按 Ctrl , 打开设置面板建议开启Files: Auto Save设置为 afterDelay默认是 off。开启后文件在停止输入几秒后自动保存配合 Git 的实时状态刷新能确保你提交的时候内容是最新的。不过注意自动保存不保证立即写入磁盘有强迫症的话可以关掉用 Ctrl S 手动保存。Editor: Font Size设为 14 或 16默认的 12 对很多人的屏幕来说偏小。Editor: Tab Size保持默认 4 还是改成 2取决于团队规范Python 建议 4JavaScript/TypeScript 建议 2。Files: Exclude可以配置资源管理器隐藏文件比如把 node_modules、dist 这类不常动的目录隐藏掉让文件列表更清爽。不过这不影响 Git 操作Git 是否跟踪文件由 .gitignore 决定。这些设置属于个人习惯不需要照搬。我的核心建议是打开自动保存其他的按你舒服的方式来。4. Git 身份配置与 SSH 密钥一次性搞定后面不再烦4.1 告诉 Git 你是谁user.name 和 user.emailGit 每次提交都会记录作者信息这个信息来自 Git 的全局配置。如果你没有配置第一次提交时会报错Please tell me who you are。配置方法很简单打开 Git BashWindows或者终端macOS执行以下两条命令git config --global user.name 你的名字 git config --global user.email 你的邮箱example.com注意两个细节。第一user.name 建议用拼音或者英文昵称尽量避免中文因为某些老式工具链对中文用户名的支持不太好。第二user.email 必须和你托管平台GitHub、Gitee 等注册的邮箱一致。这不是强制要求但只有邮箱一致你的提交才能正确关联到对应的账号贡献度统计也会正确显示。配置完成之后可以用 git config --list 检查所有配置项。如果发现配置错了重新执行 git config --global 加同样的参数覆盖即可。如果想查看单个配置执行 git config user.name 和 git config user.email 即可。这里还有个容易忽略的点git config --global 设置的是全局配置作用于这台电脑上所有 Git 仓库。如果你同时给公司和个人项目使用同一台电脑而两边的提交邮箱不一样那就需要用仓库级别的配置覆盖。在特定项目目录下执行不带 --global 的 git config user.name 和 git config user.email就能单独设置这个仓库的身份。4.2 生成 SSH 密钥并配置到 GitHub / Gitee代码托管平台支持 HTTPS 和 SSH 两种方式来访问远程仓库。对新手来说HTTPS 更简单但每次推送都要输入账号密码或者 Token非常烦人。SSH 方式配置好后一劳永逸所以我强烈建议直接上 SSH。生成 SSH 密钥的步骤在 Git Bash 里执行ssh-keygen -t ed25519 -C 你的邮箱example.com如果系统提示 ed25519 不支持可以改用 rsassh-keygen -t rsa -b 4096 -C 你的邮箱example.com命令执行后它会问你要把密钥保存在哪里直接回车使用默认路径一般是 ~/.ssh/id_ed25519。然后会要求设置一个 passphrase密码短语这一步可以留空直接回车也可以设置一个。设置的话每次使用私钥都要输入一次密码安全性高一些不设置的话方便但私钥泄露就意味着仓库被接管。我个人建议设置虽然每次连接会多一步输密码但养成安全习惯总没错。密钥生成后需要把公钥添加到托管平台。先查看公钥内容cat ~/.ssh/id_ed25519.pub把输出的以 ssh-ed25519 开头、邮箱结尾的一整行内容复制。然后登录 GitHub打开 Settings SSH and GPG keys New SSH key粘贴保存。Gitee 的路径类似设置 安全设置 SSH 公钥粘贴保存。4.3 验证连接与常见认证报错配置完成后执行下面的命令验证连接是否成功ssh -T gitgithub.com如果是 Giteessh -T gitgitee.com第一次连接会提示确认指纹输入 yes 回车即可。如果输出类似 Hi username! Youve successfully authenticated 的提示恭喜你SSH 配置完成。我在实际使用中遇到过的认证问题主要有三类这里一并说明。第一类是 Permission denied (publickey)。这种报错说明 Git 没有找到你的私钥或者公钥没有正确添加到托管平台。排查思路先用 ssh-add -l 查看当前私钥加载情况没有的话执行 ssh-add ~/.ssh/id_ed25519再确认公钥确实已经粘贴到平台注意粘贴时要复制完整不要漏掉结尾邮箱。第二类是 Host key verification failed。这说明本机的主机密钥记录和远程服务器对不上常见于服务器重置或换了 IP。解决方法是删除 known_hosts 里对应记录执行 ssh-keygen -R github.com然后重新连接。第三类是连接超时。这种情况大多数是网络问题可以先试试 ping github.com 或者直接浏览器访问 GitHub 看是否正常。如果浏览器都打不开那就是网络本身的问题等网络恢复再试就行。5. 用 VSCode 完成 Git 全流程可视化操作5.1 初始化仓库与第一次提交现在环境已经准备好了我们开始实战。这里我用一个场景来演示你新建了一个文件夹 D:\Projects\my-project里面放了几个代码文件现在想用 Git 管理起来。在 VSCode 中打开这个文件夹点击左侧活动栏的源代码管理图标圆形分支符号面板里会提示此文件夹当前未启用 Git 存储库之类的话旁边通常有 Initialize Repository 按钮。点击它或者按 Ctrl Shift P 输入 Git: Initialize Repository 并回车就完成了仓库初始化。初始化之后你会看到源代码管理面板里列出所有未跟踪的文件文件名旁边有 U 标记代表 Untracked未被 Git 跟踪。鼠标悬停在文件上会出现加号图标点击就把文件暂存了对应命令行里的 git add。暂存后文件前面的标记变成 AAdded。接下来写提交信息。在源代码管理面板顶部有一个消息输入框输入你的提交说明比如 初始化项目然后点 Commit 按钮或者按 Ctrl Enter 完成提交。此时你的代码已经保存到本地仓库了对应命令行里的 git commit -m 初始化项目。这里我补充一个从命令行时代就保留下来的习惯提交信息不要写更新、修改这种废话要写清楚做了什么比如修复登录接口空指针异常、新增商品列表分页功能。这样以后翻提交记录时每一行都是可读的而不是满屏的 update。VSCode 还支持在消息框里换行写多行提交信息第一行写标题空一行后写正文这个格式对应了 Git 提交信息的通用规范。5.2 推送到远程仓库搭配 GitHub 和 Gitee本地仓库建好了现在把代码推到远程。先在 GitHub 或 Gitee 上新建一个空仓库如果创建时让你选择是否添加 README 或 .gitignore建议都选无保持空仓库避免和本地仓库产生冲突合并的问题。在 VSCode 源代码管理面板右上角点击...菜单选择推送Push。如果是第一次推送VSCode 会要求你添加远程仓库地址在弹出的输入框里填上远程仓库的 SSH 地址形如 gitgithub.com:username/repo.git。推送时 VSCode 可能会提示你没有上游分支。在命令行时代第一次推送需要执行 git push -u origin main 来建立本地分支和远程分支的关联。VSCode 里图形化操作时直接选择发布分支或推送即可它会自动帮你做关联。推送成功后会弹出一个提示并在状态栏同步显示当前分支与远程的同步状态。这里有个新手容易踩的坑推不上去报错提示当前分支没有上游分支upstream branch。解决办法就是在命令面板里执行 Git: Push 之后再执行 Git: 检查或者直接用命令行补一条 git push -u origin main。VSCode 的图形化界面有时候不会自动帮你关联上游分支遇到这提示别慌按上面的方法处理就行。5.3 拉取与同步每天开工先 sync代码推送上去了团队协作时每天开工第一件事就是拉取最新的代码。VSCode 状态栏左下角有两个圆形箭头图标分别是同步和拉取。点击同步VSCode 会先拉取远程变更再把本地提交推上去一次完成双向同步。我在实际开发中的做法是开工前先点一次同步确保本地代码是最新的每次提交前也点一次同步把同事的改动拉下来避免集中推上去产生大量冲突。这里要重点提醒如果你的本地有未提交的改动直接拉取远程代码有可能会把别人的改动合进来的时候产生冲突。VSCode 的处理方式是如果拉取时你的工作区有冲突文件它会在源代码管理面板中列出冲突文件让你逐个解决。这个我们放到后面冲突处理的部分详细讲。此外VSCode 的源代码管理面板右上角有个刷新按钮点击会重新扫描文件状态。有时候你改了文件但状态没更新点一下刷新就好。GitLens 插件还提供了一个实时检查组件的功能在状态栏显示当前分支落后或者领先远程多少个提交用起来特别直观。5.4 分支管理新建、切换与合并分支是 Git 最强大的功能也是最容易让新手迷惑的部分。用生活化的方式解释主分支main就像一条稳定的主干道你修新功能时不要直接在主干道上动工而是开一条辅道分支在辅道上折腾等测试没问题了再并回主干道。在 VSCode 中点击左下角当前分支名称默认显示 main 或者 master会弹出分支管理面板。在这里可以执行新建分支、切换分支、删除分支等操作。新建分支的方法是在弹出的面板顶部输入框里输入新分支名选择创建新分支并回车即可。VSCode 会同时完成分支创建和切换相当于命令行里的 git checkout -b。分支合并的操作也很直观先切换到要接收更改的目标分支比如 main然后在命令面板里输入 Git: Merge Branch选择要合并进来的分支比如 feature/login确认即可。如果合并没有冲突VSCode 会直接完成合并源代码管理面板里会显示合并产生的提交。我使用分支的实际建议即使是个人开发也不要长期在 main 分支上直接开发。创建一个 dev 开发分支日常提交都在 dev 上功能稳定后再合并到 main。这能让你在出问题的时候可以随时回滚到上一个稳定版本而不需要把所有代码改动一起回滚。在 VSCode 里操作分支极其轻量养成这个习惯完全不需要额外成本。5.5 冲突处理可视化解决合并冲突合并冲突是 Git 使用中最让人头疼的事但 VSCode 的可视化解决界面做得相当好可以说是新手的救星。当合并出现冲突时VSCode 源代码管理面板会列出冲突文件打开这些文件编辑器里会显示醒目的冲突区块颜色编码一目了然。冲突区块的上半部分是当前分支的代码Current Change下半部分是传入分支的代码Incoming Change。在冲突区块上方有一排操作按钮包括Accept Current Change保留当前分支的版本Accept Incoming Change采用传入分支的版本Accept Both Changes两者都保留Compare Changes并排对比两个版本实际操作中Accept Both Changes 用得比较少因为两个版本直接拼接往往会导致代码逻辑重复。我一般的做法是先看 Current 和 Incoming 两个版本的区别如果只是同一位置的不同写法就根据业务语义选一个如果是两个人改了不同位置就手动编辑冲突区域把需要的代码保留下来把冲突标记、、 这三行删掉。解决完全部冲突文件之后源代码管理面板会自动把文件标记为已解决M 标记Modified输入提交信息点击 Commit合并就完成了。这里我必须多说一句解决冲突一定要看上下文不要盲目选择保留一侧。我就曾经偷懒在两个人同时改了同名函数的情况下直接接受了当前分支的版本结果功能上线后找不到代码查了半天才发现函数被别人改名了。冲突解决是 Git 操作中最需要谨慎的地方宁可慢一点也要把冲突区域的前后代码都读一遍再决定。5.6 撤销与修正后悔药怎么吃Git 的好处在于几乎所有的误操作都有挽回余地。VSCode 源代码管理面板的...菜单里提供了几个常用的撤销选项放弃更改Discard Changes丢弃工作区的未提交修改恢复到上一次提交的状态。这个操作对应命令行里的 git checkout -- 或 git restore。注意这个操作不可撤销执行前最好确认一下这个文件的所有修改都不需要了。取消暂存Unstage如果你误暂存了文件从源代码管理面板点击该文件前面的减号图标就能取消暂存对应 git reset HEAD 。回滚上次提交Undo Last Commit对应命令行的 git reset --soft HEAD~1保留更改但移除提交记录。这个操作适合刚提交完发现漏了文件或者提交信息写错的情况。在命令面板中搜索 Git: Undo Last Commit 即可执行。和提交信息修改相关的还有 git commit --amend这个命令可以修改上一次的提交信息或者追加文件到上一次提交。在 VSCode 中没有直接的图形化按钮但可以在命令面板中输入 Git: Commit (Amend) 来执行。需要注意的是amend 会改变提交的 hash如果这个提交已经被推送到远程并且别人已经拉过去了不建议使用 amend否则会产生分叉历史。安全的使用场景是提交还在本地没有被推送过。6. 常见问题与排查技巧实录6.1 文件状态不刷新、图标不显示这个问题特别常见很多人第一反应是 VSCode 坏了其实大部分情况只是缓存问题。如果你改了文件但源代码管理面板状态一直是旧的先点面板右上角的刷新按钮如果还不行按 Ctrl Shift P 执行 Developer: Reload Window 重载窗口。还有一种情况是文件图标不显示比如改了文件后字母标记没变。这个一般是 VSCode 的文件监视器出了问题。在 Linux 或 WSL 环境里默认的文件监视上限可能不够可以在系统里调高 fs.inotify.max_user_watches 的值。Windows 和 macOS 基本不用管直接重载窗口就能解决。6.2 Please tell me who you are 以及身份配置问题这个报错是新手最常遇到的原因就是没有配置 user.name 和 user.email。解决办法在 4.1 里已经写了。但我还遇到过一种情况全局配置明明是好的单个仓库里却还是报这个错。这种一般是这个仓库有自己的局部配置而且局部配置里的 user.name 是空的。检查方法是在项目目录执行 git config --list看看输出里有没有 user.name 和 user.email如果局部配置覆盖了全局配置但没有值就重新在项目目录下配置一次即可。6.3 认证失败HTTPS Token 与 SSH 密钥问题使用 HTTPS 方式克隆仓库的人推送时经常会遇到 Authentication failed 或者要求输入用户名密码但输入对了还是报错。这是因为 GitHub 和 Gitee 早在几年前就取消了密码推送现在必须使用 Personal Access Token 作为密码。在 GitHub 的 Settings Developer settings Personal access tokens 里生成一个 token勾选 repo 权限然后复制这个 token 作为密码粘贴即可。如果你之前在命令行里输入过错误的密码或者 TokenWindows 的凭据管理器会记住这个错误值导致后面每次都失败。这时候需要打开控制面板 用户账户 凭据管理器找到 git:https://github.com 这一项把它删掉下次推送时重新输入正确的 Token。SSH 方式的认证报错在 4.3 已经详细讲过这里不再重复。核心思路就是先确认私钥是否加载ssh-add -l再确认公钥是否添加最后用 ssh -T gitgithub.com 做连通性测试。6.4 中文乱码与提交信息编码问题Windows 上遇到中文乱码的场景主要有两个一是 Git Bash 里 ls 显示中文文件名为转义字符二是 VSCode 里提交信息或者 diff 内容里的中文乱码。第一个问题执行 git config --global core.quotepath false 可以解决。这个配置让 Git 直接显示原始中文字符而不是用八进制转义序列 (\346\226\207) 表示。第二个问题通常和 Git 的字符编码相关。Windows 默认使用 GBK 编码而 Git 和大部分代码文件默认是 UTF-8。解决办法是把 Git 的默认提交信息编码改为 UTF-8git config --global i18n.commitencoding utf-8 和 git config --global i18n.logoutputencoding utf-8。然后在 Git Bash 的属性里把字符集设置为 UTF-8。VSCode 本身默认 UTF-8 处理文件所以 VSCode 里看到乱码往往是文件本身就是 GBK 编码需要点击右下角的编码信息选择通过编码重新打开再选择 GBK 或 GB2312 就可以显示正常了。6.5 LF/CRLF 行结束符警告与转换在 Windows 上使用 Git经常会在提交或拉取时看到这样的警告warning: LF will be replaced by CRLF。这个警告来自 Git 的行结束符自动转换机制。Windows 的文本换行用 CRLF回车加换行而 Linux 和 macOS 用 LF仅换行。Git 为了跨平台协作默认在检出代码时转换为 CRLF提交时转换为 LF。如果你是自己一个人开发不想被这个警告打扰可以执行 git config --global core.autocrlf false关闭自动转换。但如果你的团队是跨平台协作的我建议保持默认设置。在 VSCode 里编辑时右下角状态栏会显示当前文件的换行符类型CRLF 或 LF如果混用了需要用哪个都行但提交前最好统一。配置文件类.gitattributes可以用来自定义每个文件类型的行结束符规则这是团队协作时的最佳实践不过对于刚上手的朋友来说保持默认 忽略警告就够了。6.6 忘记了 Git 密码、密钥丢失怎么办最后分享一个我踩过的大坑有一次换了电脑发现旧电脑的 SSH 私钥没备份结果所有配置了公钥的仓库全都连不上了。解决办法只能是重新生成密钥对、把新公钥重新添加到各个托管平台的账号里。旧私钥已经丢失按理说应该把平台上旧公钥删掉否则这个公钥就变成了一个永久的后门。这件事给我的教训是SSH 私钥id_ed25519 这个没有任何扩展名的文件是极其重要的文件它相当于你访问所有代码仓库的身份证。建议在生成密钥后立刻备份一份到密码管理器同时把公钥添加到托管平台后先在一台设备上确认能正常连接再继续下一步。如果你发现有设备丢失或不再使用记得第一时间去托管平台删除对应的公钥。7. 最后补充我平时使用 VSCode Git 的几个习惯写了这么多正文其实已经讲完了。最后再分享几个我在日常工作中养成的习惯谈不上什么标准答案但确实帮我省了不少事。第一个习惯是每天开工前先拉取收工前一定推送。很多人喜欢一口气写很多代码再推结果一推就是几十个提交中途要是插进来同事的改动合并冲突能把人搞疯。我现在的节奏是小步快跑每次完成一个独立的小功能就提交一次推送一次提交信息写清楚。这样就算哪里写错了回滚的代价也很小。第二个习惯是善用 .gitignore 文件。项目初始化时就把 node_modules、dist、.env 这些目录和文件加进去避免把依赖包和敏感配置提交到仓库。VSCode 的源代码管理面板会直接忽略被 .gitignore 排除的文件列表看起来干净很多。如果你现在还没建 .gitignore可以在项目根目录新建一个文件里面写上常见的忽略规则。GitHub 官方还提供了各种语言的 .gitignore 模板直接搜来用就行。第三个习惯是把命令面板当成随身工具。VSCode 里很多 Git 操作可以在图形界面完成但是命令面板Ctrl Shift P里输入 Git: 能列出所有可用的 Git 操作包括很多图形界面没有入口的比如 amend、stash、cherry-pick。学会用命令面板你会发现 VSCode 的 Git 能力远比你看到的按钮多。即使你以后想转回命令行这个概念也一样——你只需要知道 Git 能做什么具体的实现方式反而不那么重要。写到这里整条装环境、配身份、连远程、日常操作、处理冲突、排故障的流程就完整了。我最早学 Git 的时候被命令行折腾得怀疑人生后来换了可视化操作才真正把流程跑通。现在我的电脑上开着 VSCode 的频率远超纯终端但遇到复杂的变基操作或者需要精细控制的时候还是会切回命令行。这两种方式不冲突它们是同一个工具在不同场景下的两种形态。希望这篇指南能帮你把最基础的那 90% 用顺剩下的复杂场景等你熟悉了再慢慢探索也不迟。
返回列表