Skip to content

Git 基础与入门

我们从哪里开始

我们这一篇面对的是真正的零基础:你可能压根没用过命令行,更别说 Git。没关系,我们从"命令行是什么"讲起,一步步把 Git 装上、跑通。之所以要从这么基础的地方起步,是因为 Git 的所有操作本质上都是在命令行里敲命令——绕不开。等这一篇走完,你会有一个能用的 Git 环境,和一个"Git 到底在帮我干什么"的清晰心智模型,后面几篇的日常操作、分支、协作才有落脚点。

先认识命令行这个工具

在碰 Git 之前,我们要先认识一个工具:命令行(也叫终端、控制台)。我们平时用电脑,都是鼠标点来点去——双击打开文件夹、右键删文件。命令行是另一种路子:我们打字输入命令,让电脑干活。两件事殊途同归,区别只是一个用鼠标、一个用键盘。

那我们为什么要用命令行?因为 Git 主要是通过命令行来用的。一开始你可能觉得别扭,但命令行熟练之后其实比鼠标快得多,尤其是批量和自动化场景——这跟我们在终端那一卷讲的是一回事。打开命令行的办法,看你的系统:Windows 装好 Git 之后,在任意文件夹右键选 Git Bash Here;Mac 按 Command + 空格 输入 Terminal 回车;Linux 按 Ctrl + Alt + T。弹出来那个黑底或白底、带个闪烁光标的窗口,就是它,别怕。

我们用五个命令在五分钟里速成一下,后面 Git 全程都建立在它们之上。pwd 看你现在在哪个文件夹,ls(Windows 是 dir)列出当前文件夹的内容,cd 文件夹名 进某个文件夹,cd .. 回上一级,mkdir 文件夹名 建新文件夹:

bash
pwd                       # 看当前在哪个目录,比如 /Users/zhangsan/Desktop
ls                        # 列出当前目录文件(Windows 用 dir)
cd Desktop                # 进桌面
cd my-project             # 进 my-project 文件夹
cd ..                     # 回上一级(.. 表示父目录)
mkdir my-first-project    # 建一个新文件夹

⚠️ 注意几个新手常绊的坎:命令行里的路径用正斜杠 / 分隔,不是 Windows 资源管理器里的反斜杠 \;文件夹名带空格得用引号包起来,比如 cd "My Project",不然它会把空格后面那截当成另一个参数;按上下方向键能翻出你之前敲过的命令,不用反复重打。

有了这几招,我们就能开始学 Git 了。

Git 是什么、为什么离不开它

我们用一个真实到有点疼的故事来讲清楚 Git 到底解决什么问题。假设小明和三个朋友一起做一个网站,一开始他们靠微信群传文件协作:小明写了首页存成 website.html 发群里,小红下载后加了导航栏存成 website-小红修改.html 又发回去,小刚想改首页却不知道该基于谁的版本、选了小明的原始版加了登录按钮——结果小红的导航栏没了。几周下来,文件夹里堆了 website.htmlwebsite-最终版.htmlwebsite-这次真的是最终版.html……十几个版本,没人分得清哪个最新、哪些改过、改错了怎么回退。小明崩溃了。

如果他们用 Git,局面会完全不一样:所有人都在同一个项目上改,不用来回传文件;每个人的修改都被清楚记录——谁改的、什么时候、改了什么;随时能看到最新版本;改错了能一键回到任何历史版本;多人改不同部分 Git 自动合并,就算改了同一个地方,Git 也会提醒你处理冲突。所以 Git 对我们来说,同时是四样东西:记录每次修改的版本控制系统、让多人同时干活的协作工具、能回到过去的时光机、还有让代码永不丢失的备份

我们再用一个比喻把它的核心思想钉死,后面所有概念都围着它转。想象你在写一本小说:每写完一章就拍张照片存起来(这就是提交 commit),照片按时间排成一条时间轴(这就是历史记录),想试不同走向就抄一份副本接着写(这就是分支 branch),写满意了把副本并回主线(这就是合并 merge),最后把照片传到云端让朋友也能看(这就是推送到远程仓库 push)。记住这个比喻,后面的工作区、暂存区、分支,全是它的细化。

把 Git 装上、告诉它你是谁

接下来我们把 Git 装到电脑上。Windows 用户去 git-scm.com 下载安装包,双击运行安装向导,绝大多数选项一路 Next 用默认就行,只有一处要留心:Adjusting your PATH environment 那步,选 Git from the command line and also from 3rd-party software(通常就是默认项),这样你在任何命令行里都能直接用 git 命令;编辑器那步不知道选什么就留 Use Vim。装完右键文件夹能看到 Git Bash Here 就说明好了。Mac 多半已经自带 Git,终端里敲 git --version 有版本号就直接用,没有的话 brew install git 或去官网下安装包。Linux 按发行版装:

bash
sudo apt-get install git      # Ubuntu / Debian
sudo dnf install git          # Fedora
sudo yum install git          # CentOS / RHEL

装完我们验证一下,看到版本号就说明 Git 真的能用了:

bash
git --version

Git 装好之后,有一件必须做的事——告诉它你是谁。原因是每次你提交代码,Git 都会把你这次修改的作者信息(名字 + 邮箱)记进历史,不然几年后翻日志根本不知道某次改动是谁干的。我们用 --global 设成全局,对你这台电脑上所有项目都生效:

bash
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

比如 git config --global user.name "张三"git config --global user.email "zhangsan@example.com"。敲完回车,如果什么都没提示,那就是成功了——Unix 的老规矩,没消息就是好消息。我们再用一条命令确认配置写进去了:

bash
git config --global --list

它会把所有配置列出来,你应该能在里面看到刚才设的名字和邮箱。

⚠️ 注意,这个名字和邮箱只是用来标识你的身份、不会被验证真假,但如果你后面要用 GitHub,邮箱最好和 GitHub 注册邮箱一致——这样 GitHub 才能把你的提交和你的账号对应上、算进你的贡献图。配置随时可以重跑这两条命令修改,不用纠结一次写完美。

小结

我们在这一篇里从零搭好了 Git 的地基:认识了命令行这个工具、用五个命令(pwd/ls/cd/mkdir)速成了基本操作、用小明传文件的惨剧搞懂了 Git 解决的协作与版本问题、把 Git 装好并用 user.name/user.email 登记了身份。判断你这一篇有没有过线,看三件事:命令行里敲 git --version 有版本号、git config --global --list 能看到你的名字和邮箱、你能用一句话说清"提交/分支/合并/推送"分别对应写小说比喻里的哪一步。

下一站

环境有了、概念也有了,下一篇我们正式动手——建第一个仓库,搞懂工作区、暂存区、提交这些每天都要用的核心概念。

下一篇:核心概念与第一个项目

Built with VitePress