Git 快速入门:先把版本控制这件事立起来
写东西最怕改着改着回不去了。昨天还能跑的代码,今天改了三处就报错,想找回昨天的版本,却发现只剩一个叫最终版二的文件夹。Git 就是用来解决这个问题的:它给文件拍快照,每一次提交都是一张带说明的快照,想回哪一张就回哪一张。本文从安装、配置、建仓库、提交、分支到回退一步步走,跟着做一遍就能把版本控制立起来。命令与概念按 Git 官方文档与免费在线版《Pro Git》核实,核实日期为 2026-11-08;无法核实的内容会在文中标明。

第一步:先弄清 Git 在管什么
动手之前,先把三个概念分清。工作区是你正在改的文件夹。暂存区是一张待提交清单,你用命令把改好的文件放上去,等于告诉 Git 这些改动我要存下来。仓库是快照的集合,提交之后快照就存在这里,带提交说明、作者与时间,随时可以翻出来看。很多新手卡住,就是因为把这三者混成了一个东西:改了文件以为已经保存了版本,其实只是改了工作区,还没提交。
Git 是分布式的版本控制系统,每份仓库拷贝都包含完整历史,不用联网也能提交与建分支,这个说法来自 Git 官方文档,核实日期为 2026-11-08。Git 与 GitHub 不是同一个东西,Git 是本地工具,GitHub 是托管平台,先把本地这套学会再学推送。
第二步:安装 Git,确认装好了
不同系统安装方法不同,按自己的系统选一条走。Windows 系统,去 Git 官方下载页下载安装程序,一路用默认选项安装即可,安装程序会顺带装上 Git Bash。macOS 系统,打开终端输入命令查看版本,如果系统提示安装开发者工具,按提示装上即可,也可以用 Homebrew 安装。Linux 系统,用系统自带的包管理器安装,例如 Debian 与 Ubuntu 系用 apt,Fedora 系用 dnf,具体命令以发行版官方文档为准。
装完之后,在终端里输入下面这条命令确认 Git 已经能用:
1git --version
能看到版本号就说明安装成功,看不到就先回头检查安装步骤。当前最新版本号是多少,不同系统与时间点会变,本文不写死数字,以 Git 官方下载页显示的为准。
第三步:配置姓名与邮箱,只做一次
每次提交都会记录是谁提交的,所以第一次用 Git 之前,要先告诉它你的名字和邮箱。这一步只做一次,配置保存在你的用户目录里,对这台电脑上的所有仓库生效。
1git config --global user.name "你的名字"
2git config --global user.email "你的邮箱@example.com"
名字与邮箱要写你愿意公开在提交记录里的内容,以后推到 GitHub 时,建议邮箱与 GitHub 账号用的邮箱一致。想确认配置是否生效,输入 git config –list 查看。顺手把新仓库的默认分支名设为 main,命令是 git config –global init.defaultBranch main,旧版本报错就跳过,不影响后面步骤。
第四步:建一个仓库,交第一份快照
找一个空文件夹当练习场,在终端里进入这个文件夹,然后依次做三件事。先初始化仓库,输入 git init。初始化后会多出一个隐藏的 .git 目录,这就是仓库本身,不要手动删改它。接着建一个说明文件,新建 README.md,随便写两行字。然后把文件加入暂存区,输入 git add README.md。最后提交第一份快照,输入 git commit -m “第一次提交:加入项目说明”。
1git init
2git add README.md
3git commit -m "第一次提交:加入项目说明"
提交说明要写清楚这次改了什么,而不是写更新或者改了一下。提交成功后输入 git status,状态显示工作区干净就说明提交完成了。
第五步:改文件,提交,再改,再提交
仓库建好之后,日常流程就是一个循环:改文件,查看状态,加入暂存区,提交。改完文件先看状态,输入 git status,Git 会告诉你哪些文件被改过。只提交改好的文件,输入 git add 文件名可以只加一个文件,输入 git add . 可以把所有改动一次加进来。加进来之前先看一眼改了什么,输入 git diff 查看差异,已经加入暂存区的改动用 git diff –staged 查看。确认无误再提交,输入 git commit -m “把登录按钮的文字改清楚”。
养成小步提交的习惯,改完一个完整的小功能就提交一次,不要攒一天的改动再一次提交,回退时损失小,历史也好读。一次提交多大算小没有统一标准,以改动能用一句话说清楚为准。
第六步:看历史,知道每个版本长什么样
提交多了之后,要能随时翻历史。查看提交记录,输入 git log –oneline,每行一个提交,前面是编号缩写,后面是提交说明。想看某次提交改了什么,输入 git show 提交编号,把编号换成你要看的那次。历史是只读的翻阅,看历史本身不会改动你的文件,放心翻。
第七步:用分支做实验,主分支永远能跑
分支是 Git 最好用的功能之一:分支就是一条可以独立发展的线,主分支保持能跑的状态,新功能在分支上做,做坏了删掉分支就行。新建一个分支并切换过去,输入 git switch -c 新功能分支名,老版本 Git 可以用 git checkout -b 新功能分支名代替。在分支上改代码、提交,流程与第五步完全一样。切回主分支,输入 git switch main,再输入 git merge 新功能分支名合并。合并完确认没问题,输入 git branch -d 新功能分支名删掉分支。
第八步:改错了怎么回退,分三种情况
回退先分清情况再动手。第一种情况是改了文件但还没加入暂存区,想放弃这次改动,输入 git restore 文件名,回到上次提交时的样子。第二种情况是已经加入暂存区但还没提交,想把文件从暂存区拿下来,输入 git restore –staged 文件名。第三种情况是已经提交了,想撤销这次提交,输入 git revert 提交编号,它会新建一个反向提交来抵消它。
新手优先用 revert 撤销已提交的内容,因为它不改写历史,只是多加一次提交来抵消。reset 命令也能回退,但它会改写历史,用错了可能丢提交,新手不要轻易用。
第九步:别让不该进仓库的东西进来
有些文件不该进版本控制,比如编译出来的临时文件、缓存、装着密码的配置文件。新建一个名为 .gitignore 的文件,把不想跟踪的文件名或规则一行一条写进去,Git 就会自动忽略它们。先建 .gitignore 再提交,已经提交进仓库的文件,光写进 .gitignore 是去不掉的。.gitignore 本身要提交进仓库,这样别人拿到仓库时规则也跟着走。不小心把密码提交进去了怎么办,光靠 revert 删不掉历史里的记录,正确做法是先换掉泄露的密码,再找有经验的人帮忙清理历史。
第十步:每天只练一个小循环
学 Git 不用一次背下所有命令,练熟下面这个日常循环就够了。
每天练一遍这个循环就够了:看状态,看改动,加进暂存区,提交快照,看历史,开分支做实验,合并回主分支。
第一周每天练一遍这个循环,用一个练习文件夹随便改、随便提交、随便回退,练坏了删掉重建就行。第二周开始用在真实项目上,先只管本地提交。遇到看不懂的报错先读报错本身,Git 的报错通常会直接告诉你下一步该输入什么命令。至于推到 GitHub 与多人协作解决冲突,属于下一步的内容,本地这套练熟了再学。
未核实要点
- 当前 Git 各系统的最新版本号,本文未写死数字,安装时以 Git 官方下载页显示的为准。
- git config –global init.defaultBranch main 在各旧版本 Git 上的支持情况,本文未逐版本核实,报错时以本地提示为准。
- 一次提交多大算合适,不同项目与团队标准不同,本文未核实统一标准,以改动能用一句话说清楚为准。
- 已经把密码提交进仓库后的历史清理命令,操作有丢数据风险,本文未展开核实,第一次遇到应先换密码再找有经验的人帮忙。
- 把本地仓库推到 GitHub 与多人协作冲突解决的具体流程,不属于本文本地入门范围,本文未核实相关步骤。