前言

这里只是简单介绍git以及git的命令


Git 简介

Git 是一个分布式版本控制系统,由 Linus Torvalds 开发,用于高效管理项目代码的变更历史。核心特点:

  • 分布式架构:每个开发者拥有完整的仓库副本
  • 版本追踪:记录每次代码变更
  • 分支管理:轻松创建/切换分支
  • 协作支持:多人协作开发解决方案

安装与配置

安装 Git

基础配置

1
2
3
4
5
6
7
8
9
# 设置用户信息
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

# 查看配置
git config --list

# 设置默认编辑器(可选)
git config --global core.editor "code --wait"

基础工作流程

创建仓库

1
2
3
4
5
# 初始化新仓库
git init

# 克隆现有仓库
git clone https://github.com/user/repo.git

基本操作

1
2
3
4
5
6
7
8
9
10
11
12
13
# 检查当前状态
git status

# 添加文件到暂存区
git add filename.txt # 添加单个文件
git add . # 添加所有修改

# 提交变更到本地仓库
git commit -m "描述性提交信息"

# 查看提交历史
git log
git log --oneline # 简洁版日志

分支管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建新分支
git branch new-feature

# 切换分支
git checkout new-feature
# 或(新版本推荐)
git switch new-feature

# 创建并切换分支
git checkout -b hotfix

# 合并分支到当前分支
git merge hotfix

# 删除分支
git branch -d hotfix

分支策略建议

1
2
3
4
main (稳定版)
└── develop (开发主线)
├── feature/login (功能分支)
└── hotfix/header-error (紧急修复)

远程仓库

常用操作

1
2
3
4
5
6
7
8
9
10
11
12
# 添加远程仓库
git remote add origin https://github.com/user/repo.git

# 推送到远程仓库
git push -u origin main # 首次推送
git push # 后续推送

# 拉取远程更新
git pull origin main

# 获取远程更新(不自动合并)
git fetch origin

协作流程

  1. 从远程仓库克隆项目:git clone
  2. 创建功能分支:git checkout -b new-feature
  3. 开发并提交变更
  4. 推送分支到远程:git push -u origin new-feature
  5. 在 GitHub/GitLab 创建 Pull Request
  6. 代码审查后合并到主分支

高级操作

撤销更改

1
2
3
4
5
6
7
8
# 撤销工作区修改
git checkout -- filename.txt

# 撤销暂存区的添加
git reset HEAD filename.txt

# 修改最后一次提交
git commit --amend

解决冲突

当合并出现冲突时:

  1. 打开冲突文件(标记有 <<<<<<<=======>>>>>>>
  2. 手动修改保留需要的代码
  3. 标记冲突已解决:
1
2
git add resolved-file.txt
git commit -m "解决合并冲突"

标签管理

1
2
3
4
5
6
7
8
# 创建标签
git tag v1.0.0

# 查看所有标签
git tag

# 推送标签到远程
git push origin v1.0.0

.gitignore 文件

在项目根目录创建.gitignore文件,排除不需要版本控制的文件:

1
2
3
4
5
6
# 示例
*.log
node_modules/
.DS_Store
build/
.env

总结

Git 核心概念

概念 说明 常用命令
仓库 (Repo) 代码存储库 git init, git clone
暂存区 (Stage) 准备提交的变更区域 git add
提交 (Commit) 保存代码快照 git commit
分支 (Branch) 独立开发线 git branch, git switch
远程 (Remote) 云端代码仓库 git remote, git push

最佳实践建议

  1. 频繁提交:小步提交,保持提交原子性
  2. 规范消息:使用清晰的提交信息(推荐Conventional Commits
  3. 分支策略:采用 Git Flow 或类似工作流
  4. 定期同步:每天开始工作前 git pull
  5. 及时解决冲突:避免长期存在的合并冲突
  6. 保护主分支:通过 Pull Request 合并代码

学习路径

1
2
3
4
5
graph LR
A[基础命令] --> B[分支管理]
B --> C[远程协作]
C --> D[高级操作]
D --> E[工作流设计]

掌握 Git 需要理论和实践结合,建议:

  1. 在本地创建练习仓库
  2. 使用 GitHub/GitLab 创建远程仓库
  3. 尝试各种分支操作和合并场景
  4. 遇到问题时善用 git help <command>

推荐资源