背景/问题

你是否遇到这样的情况:代码改乱了想回退却回退不了?多人协作开发不知道谁改了什么?文件备份繁琐又容易丢失?

这些都是没有使用版本控制系统的问题。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.

解决方案

  1. 打开冲突文件,查看冲突标记
  2. 手动解决冲突,删除««、====、»»
  3. git add 解决后的文件
  4. 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文档"

建议

  1. 每次功能完成后再commit,不要频繁提交
  2. 提交信息要清晰,说明做了什么
  3. 推送前先pull,保持代码最新
  4. 重要分支(如main)不要直接推送代码

参考链接

  • Git官网:https://git-scm.com
  • Pro Git书籍:https://git-scm.com/book/zh/v2
  • 廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/0013739636309609586fd3e19109f0fb9b2b3bc00