Git 快速入门:从零掌握版本控制
一、什么是 Git?
Git 是一个分布式版本控制系统。你可以把它理解为一个超级强大的"时光机"——每次重要修改都可以打一个快照,随时可以回到任意历史版本,多人协作时也不会相互覆盖。
不管你是前端、后端、还是运维,会 Git 几乎是现代开发的必备技能。
二、安装 Git
Linux(Ubuntu/Debian)
sudo apt update && sudo apt install git
macOS
brew install git # 已有 Homebrew
git --version # 确认安装成功
Windows
直接下载 Git for Windows,安装时一路默认即可。
三、首次配置(必须!)
安装完成后,第一件事配置用户信息,否则 Git 无法记录是谁做的修改:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
说明:--global 表示全局配置,对这台电脑所有仓库都生效。也可以在单个项目里去掉 --global 做项目级配置。
四、创建第一个仓库
mkdir myproject # 创建项目文件夹
cd myproject # 进入文件夹
git init # 初始化 Git 仓库
执行 git init 后,文件夹里会多出一个 .git 隐藏目录,Git 开始跟踪这个文件夹的所有变化。
五、基础操作:添加 → 提交
Git 的核心工作流程是:工作区 → 暂存区 → 版本库
# 查看当前状态(会告诉你哪些文件变了)
git status
把修改添加到暂存区
git add 文件名 # 添加单个文件
git add . # 添加所有修改的文件
从暂存区提交到版本库(正式存档)
git commit -m "这里写这次修改的说明"
commit message 规范:说明做了什么而不是改了什么。好例子:"修复登录页 session 超时问题";坏例子:"update" 或 "fix bug"。
六、连接远程仓库(GitHub / GitLab)
1. 生成 SSH 密钥(一次性操作)
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
cat ~/.ssh/id_ed25519.pub # 复制这行输出的内容
2. 把公钥加到 GitHub
打开 GitHub → Settings → SSH and GPG keys → New SSH key,粘贴上面复制的内容。
3. 克隆远程仓库
git clone git@github.com:用户名/仓库名.git
七、常用命令速查表
| 命令 | 作用 | 使用频率 |
|---|---|---|
git status | 查看当前修改状态 | ⭐⭐⭐⭐⭐ |
git add . | 暂存所有修改 | ⭐⭐⭐⭐⭐ |
git commit -m "说明" | 提交到本地版本库 | ⭐⭐⭐⭐⭐ |
git push | 推送到远程仓库 | ⭐⭐⭐⭐⭐ |
git pull | 拉取远程最新代码 | ⭐⭐⭐⭐⭐ |
git log | 查看提交历史 | ⭐⭐⭐ |
git diff | 查看具体修改内容 | ⭐⭐⭐ |
git branch | 查看/创建分支 | ⭐⭐⭐ |
git checkout 分支名 | 切换分支 | ⭐⭐⭐ |
八、常见错误解析
错误1:nothing to commit, working tree clean
说明没有任何修改,所有修改已经全部提交过了,不需要再 add + commit。
错误2:Please tell me who you are
没有配置用户信息,执行上面第三步的 git config 命令即可。
错误3:Permission denied (publickey)
SSH 密钥没有配置好。去 GitHub 检查公钥是否添加正确,或者换 HTTPS 方式克隆:git clone https://github.com/用户名/仓库名.git
错误4:Merge conflict
多人同时修改了同一文件,产生冲突。打开冲突文件,保留需要的代码,删掉 <<<<<<<、=======、>>>>>>> 这些标记,然后重新 add + commit。
九、进阶建议
- 每次
commit只做一件事,便于追溯和回滚 - 写清楚 commit message,未来看日志时你会感谢现在的自己
- push 之前先 pull,避免覆盖他人的修改
- 用
.gitignore文件排除不需要跟踪的文件(如密码、node_modules)