写Git操作这块,我其实犹豫了很久要不要动笔。网上教程铺天盖地,但多数要么停留在“记住这几条命令”的层面,要么一上来就扔出一堆概念把人劝退。真正困扰新手和不少刚转行同事的,往往是那些零碎的、不成体系的细节:为什么明明add了却commit不到,为什么push的时候被拒,为什么同事的代码一合并就冲突报警。这次借“git基本操作”这个题目,我把这些年实际用下来的理解、踩坑和习惯一次性梳理出来,尽量做到既讲命令,也讲命令背后的道理,看完你能直接照着用。
Git这东西,说到底就是个版本管理工具。它的核心价值不是帮你“存文件”,而是帮你“记录变化”和“回到过去”。我见过太多人用Git的方式是:每天上班第一件事git pull,下班前一顿git add .、git commit -m "update"、git push就完事。这样用不是不行,但等于把Git当成了网盘,完全丢失了版本管理最值钱的能力——可控、可回溯、可协作。下面的内容,我会从安装配置讲起,逐步拆解Git最常用、最核心的操作,中间穿插大量真实场景和排查经验,覆盖你日常开发中90%以上的需求。
1. 先搞清楚Git到底解决了什么问题
1.1 版本管理的本质:给代码“存档”
你可以把Git理解成一个极其强大的游戏存档系统。玩单机游戏的时候,你会在关键节点存档,打不过Boss就读档重来。写代码也一样,改崩了要能回退,这个需求在项目刚开始时感觉不明显,等代码量上万行、多人协作之后,没有版本管理几乎是寸步难行。
Git管理的不是文件副本,而是文件的变化历史。这意味着它存储的是每个版本之间的差异(Git内部用快照+索引的方式实现,这个细节先不管),所以仓库再大也能保持高效。给你一个直观对比:用普通方式,你可能会手动复制“项目备份_20240101”、“项目备份_20240108”这类文件夹,三个月后你根本分不清哪个对应哪个版本,而且磁盘占用巨大。用Git,你记录的是“1月1日改了什么功能”“1月8日修复了什么Bug”,每一条记录都带时间、作者、改动说明,这才是真正有价值的“存档”。
1.2 分布式和集中式的区别:为什么Git更主流
早些年主流的版本控制工具是SVN,属于集中式。所有版本都放在中央服务器上,每个人工作时从中央服务器拉取最新代码,提交也必须提交到中央服务器。缺点是显而易见的:一旦服务器挂了,所有人都没法提交;网络差的时候,提交一个版本能等半天。
Git是分布式的,每个人本地都有完整的仓库历史,绝大多数操作(提交、查看历史、分支切换)都在本地瞬间完成,只有push和pull才需要联网。平时该提交提交,该记历史记历史,完全不受网络影响。等代码稳定了,再一次性推送到远程仓库。这几年Git能全面取代SVN,分布式这个特性是决定性的。
1.3 Git的四个区:理解一切命令的钥匙
Git的操作之所以让新手觉得混乱,是因为同一个文件在不同阶段有不同状态。我习惯用一个简化模型来理解:
- 工作区:就是你电脑上看到的、正在编辑的文件目录。
- 暂存区:一个临时存放区,用来“挑选”哪些改动进入下一次提交。英文叫Index。
- 本地仓库:已经提交的记录就存在这里,也就是本地Git保存的所有历史版本。
- 远程仓库:放在服务器上的仓库,比如GitHub、GitLab、Gitee或者公司内部服务器。多人协作就是通过这个共享仓库进行的。
日常操作就是让文件在这几个区之间流转:工作区改文件,git add把改动放进暂存区,git commit把暂存区的改动固化成一条记录,git push把本地记录推到远程,git pull把别人推到远程的记录拉下来。这个流程被称为“五件事模型”,几乎所有基础操作都是这四个区之间的关系处理。想清楚当前操作的是哪个区到哪个区,命令就不会再用错。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备:从安装到初始化配置
2.1 各平台安装Git,别在第一步卡住
Windows用户最简单,去Git官网下载exe安装包,一路Next就行。如果你下载速度不理想,国内也有镜像站,比如阿里云、腾讯云等都有官方镜像,搜索“Git国内镜像下载”就能找到,速度会快很多。
安装过程中有几个选项需要注意:
- “Select Components”界面,默认选项就行,但建议把“Git Bash Here”和“Git GUI Here”打上勾,这会在右键菜单里增加打开Git Bash的入口,非常方便。
- “Default editor”选项,建议选“Use Visual Studio Code as Git’s default editor”,前提是你装了VS Code。如果没装,系统会默认用Vim,对不熟悉Vim的人来说,万一误入编辑器界面会卡住不知道怎么保存退出。这条建议能帮你省掉一个大坑。
- “Adjusting your PATH environment”选项,一定选中间那个“Git from the command line and also from 3rd-party software”,这样你在CMD、PowerShell或者任何终端里都能直接使用git命令,否则只在Git Bash里能用。
macOS用户建议用Homebrew安装,一条命令:brew install git。不想用Homebrew也可以直接去官网下载pkg安装包。Linux用户对应发行版的包管理器装就行,Ubuntu/Debian用sudo apt install git,CentOS/RHEL用sudo yum install git。
2.2 Git Bash是什么,以及Windows用户建议使用它
Windows用户装完Git后,桌面上会出现Git Bash,很多人不理解“Bash”是什么意思。简单说,Git Bash是Git安装包自带的一个模拟Linux命令行的终端环境。为什么需要这东西?因为Git诞生在Linux社区,很多习惯、命令格式都偏向Unix风格,而Windows自带的CMD和PowerShell在路径写法、命令语法上有差异,在Git Bash里则能统一体验到类Unix的命令。
平时我用Git Bash用得最多,因为它支持常用的ls、cd、pwd等Linux命令,使用感受比CMD顺手太多。但你在PowerShell里其实也可以敲git命令,两者并不冲突。对新手来说,建议直接用Git Bash,少踩很多莫名其妙的坑。
2.3 初始配置:用户名、邮箱和换行符
安装完Git,第一件事是配置你的身份信息,否则提交代码时会提示“Please tell me who you are”:
bash复制git config --global user.name "你的名字"
git config
