Git基础原理和使用
Git 初识
一、版本管理痛点
在日常工作和学习中,我们经常遇到以下问题:
- 通过不断复制文件来保存历史版本(如报告-v1、报告-最终版等)
- 版本数量增多后无法清晰记住每个版本的修改内容
- 项目代码管理存在同样问题
二、版本控制系统解决方案
1. 核心功能:
- 记录文件修改历史
- 支持版本回溯
- 便于多人协作
2. 主流工具:Git
3. 文件支持:
- 完美支持文本文件(代码、文档等)
- 有限支持二进制文件(图片、视频等)
三、Git 安装指南
1. CentOS 系统:
```bash
# 检查是否安装
git
# 安装命令
sudo yum -y install git
# 验证安装
git --version
```
2. Ubuntu 系统:
```bash
# 检查是否安装
git
# 安装命令
sudo apt-get install git -y
# 验证安装
git --version
```
四、Git 基础配置
1. 设置用户信息:
```bash
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
```
2. 查看配置信息:
```bash
git config -l
```
3. 删除配置:
```bash
git config --global --unset user.name
git config --global --unset user.email
```
五、核心概念解析
1. 工作区:实际操作的目录
2. 暂存区(Stage):临时存放改动的区域
3. 版本库(Repository):永久存储版本信息的.git目录
六、仓库管理
1. 创建本地仓库:
```bash
mkdir gitcode
cd gitcode
git init
```
2. 仓库结构:
- 生成隐藏的.git目录
- 禁止手动修改.git内部文件
七、分支管理
1. 分支原理:
- 类似平行宇宙概念
- 默认主分支:master/main
- HEAD指针指向当前分支
2. 分支操作:
```bash
# 创建分支
git branch dev
# 切换分支
git checkout dev
# 查看分支
git branch
# 合并分支(需先切换至主分支)
git checkout master
git merge dev
```
3. 合并原理:
- Fast-forward(快进式合并)
- 保留完整版本历史记录
八、最佳实践建议
1. 提交规范:
- 使用有意义的提交信息
- 保持原子性提交(每次提交一个功能/修复)
2. 分支策略:
- master/main分支保持稳定
- 开发使用feature分支
- 使用pull request进行代码审查
3. 日常维护:
- 定期执行git status查看状态
- 使用.gitignore管理不需要版本控制的文件
- 及时处理合并冲突