如果你搜过“Git基本操作”,大概率会看到一张命令清单:git init、git add、git commit、git push……照着敲一遍,仓库建了、代码推了,一切看起来顺顺当当。但等到真要撤销一次错误的提交、给某次提交补个文件、或者在 IDEA 里看到一堆红色报错时,很多人就开始手忙脚乱了。这篇文章想做的事,就是把这套“基本操作”从“能跑命令”推进到“知道每一步发生了什么”。
内容围绕日常开发中最常用到的 Git 操作展开,包括安装与首启配置、完整的提交流程、分支与合并、撤销与回滚、远程仓库协作,以及高频报错的排查思路。适合刚接触 Git 的初学者,也适合已经用了一段时间但总感觉“哪里没搞透”的同学。我不会罗列一份枯燥的命令大全,而是把每个操作为什么要这么做、底层发生了什么讲清楚,再配上我实际踩过的坑和验证过的方法。
1. 装完 Git 之后,真正该花时间的其实是配置
1.1 Windows 下安装:官网、镜像与 Git Bash 的选择
Windows 下最主流的安装方式是下载 Git for Windows,也就是大家通常说的“Windows 版 Git”。安装包里自带了 Git Bash,它是一个模拟 Linux 终端环境的程序,很多在 Windows 命令行里跑不通的指令,在 Git Bash 里都能正常运行。如果你后续要在 Windows 上用 SSH 密钥或执行 shell 脚本,Git Bash 是绕不开的工具。
下载渠道有两个:一是去 Git 官网,版本肯定是最新的;二是国内镜像站,比如清华大学开源软件镜像站、阿里云镜像站,下载速度快,对国内网络环境更友好。实际使用中,镜像站的版本和官网保持一致,安全性也没有问题,放心用。
安装过程中基本可以一路 Next,但有几个选项建议留意一下:
- 默认编辑器:建议选 Vim 或者你熟悉的编辑器。如果选 Vim,新手在 commit 时误入 vim 界面会不知道怎么退出,所以直接选 Notepad++ 或 VS Code 更省心。
- 调整 PATH 环境变量:默认选项是“Git from the command line and also from 3rd-party software”,建议保持默认,这样无论在 cmd 还是 PowerShell 里都能直接执行 git 命令。
- 行尾转换(Line Ending Conversions):默认的
Checkout Windows-style, commit Unix-style通常不用改,跨平台协作时这个设置最省事。
安装完成后,打开命令行执行 git --version,能输出版本号就说明装好了。这个检查步骤虽然简单,但我见过不少人在环境变量出问题时卡在这一步,后面第 6 章会专门讲。
1.2 首次提交前的身份声明与全局配置
很多人第一次用 Git 时都遇过这个场景:git add 没问题,一执行 git commit 就报错,提示 “Please tell me who you are”。原因是 Git 需要知道提交人是谁,它会把 user.name 和 user.email 写进每一条提交记录里,作为作者信息。
配置方法很简单:
bash复制git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
--global 表示全局生效,写在用户级别配置文件中,之后这台机器上的所有仓库默认都会使用这套身份。如果某个项目需要单独使用不同的身份(比如工作电脑上分公司项目和私人项目),可以在项目目录里去掉 --global 重新设置,这个写入的是仓库级别的 .git/config,优先级更高。
查看当前配置用 git config --list,里面会列出所有生效的配置项。有一点容易被忽略:提交邮箱最好用你在 Git 托管平台(比如 GitHub、Gitee)上绑定的邮箱,这样平台才能把你的提交正确关联到账号,绿点统计和提交记录归属才会对得上。
1.3 SSH 密钥生成与远程平台配置
日常操作远程仓库有两种认证方式:HTTPS 和 SSH。HTTPS 方式每次 push/pull 都可能要求输入账号密码(取决于你是否配置了凭据管理器);SSH 方式只要把公钥添加到托管平台,之后就能免密操作,这也是我推荐的方式。
生成密钥的步骤如下:
bash复制# 先检查是否已有密钥
ls ~/.ssh
# 没有就生成一个新的,-C 参数填你的邮箱
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
一路回车即可,默认会生成一对密钥文件:私钥 id_ed25519 和公钥 id_ed25519.pub。私钥保存在本地,绝不能泄露;公钥可以公开,把它复制出来,添加到你所用平台(GitHub 或 Gitee)的设置页面里的 “SSH Keys” 区域。
验证是否配置成功:
bash复制ssh -T git@gitee.com
首次连接会提示确认主机的指纹,输入 yes 即可。如果返回 “Hi xxx! You've successfully authenticated” 之类的提示,就说明 SSH 密钥已经生效。
这里多说一句,公钥是绑定“机器”的,换了电脑就要重新生成一份
