1. Git的作用是什么?
Git是一个分布式版本控制系统,主要解决以下问题:
- 版本管理:记录文件每次修改的内容和时间(如同"时光机"可回退历史版本)
- 协作开发:多人同时修改同一项目时自动合并代码
- 代码备份:每个开发者都拥有完整的仓库副本
- 分支实验:创建独立分支开发新功能,不影响主线
类比理解:Git是代码的"时间旅行者",能保存所有历史快照,并允许团队并行开发。
2. Git安装及常见配置
安装步骤:
- 官网下载:git-scm.com/downloads
- 按系统选择(Windows/Mac/Linux)
- 安装时保持默认选项(Windows用户需勾选"Git Bash")
验证安装:
git --version # 显示版本号即成功(如 git version 2.37.0)
基础配置(首次使用必须设置):
# 设置用户名(提交时显示作者)
git config --global user.name "Your Name"
# 设置邮箱(用于身份识别)
git config --global user.email "your@email.com"
# 查看所有配置
git config --global --list
常用配置项:
# 设置默认编辑器为VSCode
git config --global core.editor "code --wait"
# 启用颜色标记(文件状态更直观)
git config --global color.ui auto
# 保存凭证(避免重复输入密码)
git config --global credential.helper store
3. Git文件状态生命周期
文件在Git中有4种核心状态:
graph LR
A[Untracked<br>未跟踪] -->|git add| B(Staged<br>已暂存)
B -->|git commit| C(Committed<br>已提交)
D[Modified<br>已修改] -->|git add| B
C -->|文件改动| D
- Untracked:新文件未被Git管理(
git status显示为红色) - Modified:已跟踪文件被修改(红色)
- Staged:修改已标记待提交(
git status显示为绿色) - Committed:更改已永久存入本地仓库
示例操作流:
- 新建
file.txt→ Untrackedgit add file.txt→ Stagedgit commit -m "Add file"→ Committed- 修改
file.txt→ Modified- 再次
git add→ Staged
4. Git简单提交流程(完整示例)
假设项目目录为/my-project:
# 1. 初始化仓库
cd /my-project
git init # 创建.git隐藏文件夹
# 2. 创建新文件
echo "Hello Git" > README.md
# 3. 查看状态(红色提示未跟踪)
git status
# 4. 添加到暂存区
git add README.md
# 5. 提交到本地仓库(-m添加提交信息)
git commit -m "Add project README"
# 6. 查看提交记录
git log # 显示提交ID/作者/时间/信息
5. git config --global 详解
此命令设置全局配置(对所有仓库生效),配置文件位置:
- Windows:
C:\Users\<用户名>\.gitconfig - Linux/Mac:
~/.gitconfig
常用场景:
# 修改默认分支名(旧版默认master,新版为main)
git config --global init.defaultBranch main
# 设置别名(简化命令)
git config --global alias.st status # git st → git status
git config --global alias.co checkout # git co → git checkout
# 解决换行符问题(Windows)
git config --global core.autocrlf true
# Mac/Linux:
git config --global core.autocrlf input
⚠️ 重要提示:
不加--global时配置仅对当前仓库生效,配置保存在.git/config中。
小结关键命令表
| 命令 | 作用 | 示例 |
|---|---|---|
git init | 初始化仓库 | git init |
git add <file> | 添加文件到暂存区 | git add README.md |
git commit -m | 提交更改 | git commit -m "msg" |
git status | 查看文件状态 | git status |
git log | 查看提交历史 | git log --oneline |
git config --global | 全局配置 | git config --global user.name "John" |