背景/问题
你是否遇到这样的情况:代码改乱了想回退却回退不了?多人协作开发不知道谁改了什么?文件备份繁琐又容易丢失?
这些都是没有使用版本控制系统的问题。Git是目前最流行的版本控制系统,学会Git可以:
- 记录代码的每一次修改,随时回退到任意版本
- 多人协作开发,互不影响
- 优雅地管理代码版本,再也不怕改错
环境信息
- 操作系统:Windows/Mac/Linux 均可
- 软件版本:Git 2.30+
- 相关依赖:无
一、核心概念
1.1 什么是Git?
Git是一个分布式版本控制系统,可以追踪文件的修改历史,记录"谁在什么时候改了什么"。
1.2 三个区域
理解Git的三个区域非常重要:
| 区域 | 说明 | 命令 |
|---|---|---|
| 工作区 | 你正在编辑的文件 | - |
| 暂存区 | 准备提交的修改 | git add |
| 版本库 | 已提交的修改历史 | git commit |
1.3 状态流转
工作区 → git add → 暂存区 → git commit → 版本库
二、实现步骤
2.1 安装Git
Windows: 下载安装包:https://git-scm.com/downloads
Mac:
brew install git
Linux:
sudo apt install git # Debian/Ubuntu
sudo yum install git # CentOS
2.2 配置Git
安装完成后,先配置用户名和邮箱:
# 配置用户名
git config --global user.name "你的名字"
# 配置邮箱
git config --global user.email "your@email.com"
# 查看配置
git config --list
2.3 创建仓库
# 创建新文件夹
mkdir myproject
cd myproject
# 初始化仓库
git init
2.4 基础操作流程
# 查看当前状态
git status
# 添加文件到暂存区
git add filename.txt
# 或者添加所有文件
git add .
# 提交到版本库
git commit -m "提交说明"
# 查看提交历史
git log
# 查看工作区和版本库的差异
git diff
2.5 分支操作
# 查看分支
git branch
# 创建新分支
git branch feature-login
# 切换分支
git checkout feature-login
# 创建并切换分支
git checkout -b feature-register
# 合并分支
git checkout main
git merge feature-login
# 删除分支
git branch -d feature-login
2.6 远程仓库
# 克隆远程仓库
git clone https://github.com/username/repo.git
# 添加远程仓库
git remote add origin https://github.com/username/repo.git
# 推送到远程
git push origin main
# 拉取远程更新
git pull origin main
三、常见问题/踩坑记录
问题 1:提交信息写错了
错误信息:提交后发现说明写错了
解决方案:
# 修改最后一次提交的信息
git commit --amend -m "正确的提交说明"
问题 2:文件改错了想要撤销
原因分析:工作区的修改不想要了
解决方案:
# 撤销工作区的修改
git checkout -- filename.txt
# 撤销暂存区的修改(已add但未commit)
git reset HEAD filename.txt
问题 3:合并冲突
错误信息:Auto-merging failed; fix conflicts and then commit the result.
解决方案:
- 打开冲突文件,查看冲突标记
- 手动解决冲突,删除««、====、»»
git add解决后的文件git commit完成合并
问题 4:误删了文件想要恢复
解决方案:
# 查看删除记录
git log --all --full-history -- yourfile.txt
# 恢复到删除前的版本
git checkout HEAD~1 -- yourfile.txt
四、最佳实践/总结
常用命令速查表
| 命令 | 说明 |
|---|---|
git init | 初始化仓库 |
git status | 查看状态 |
git add . | 添加所有文件 |
git commit -m "说明" | 提交 |
git log | 查看历史 |
git branch | 查看分支 |
git checkout -b | 创建并切换 |
git push | 推送到远程 |
git pull | 拉取远程 |
提交信息规范
好的提交信息能让你快速定位历史版本:
# 推荐格式
git commit -m "feat: 添加用户登录功能"
git commit -m "fix: 修复购物车计数bug"
git commit -m "docs: 更新README文档"
建议
- 每次功能完成后再commit,不要频繁提交
- 提交信息要清晰,说明做了什么
- 推送前先pull,保持代码最新
- 重要分支(如main)不要直接推送代码
参考链接
- Git官网:https://git-scm.com
- Pro Git书籍:https://git-scm.com/book/zh/v2
- 廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739636309609586fd3e19109f0fb9b2b3bc00