Git基础入门

377 阅读3分钟

1. Git的作用是什么?

Git是一个分布式版本控制系统,主要解决以下问题:

  • 版本管理:记录文件每次修改的内容和时间(如同"时光机"可回退历史版本)
  • 协作开发:多人同时修改同一项目时自动合并代码
  • 代码备份:每个开发者都拥有完整的仓库副本
  • 分支实验:创建独立分支开发新功能,不影响主线

类比理解:Git是代码的"时间旅行者",能保存所有历史快照,并允许团队并行开发。


2. Git安装及常见配置

安装步骤

  1. 官网下载:git-scm.com/downloads
  2. 按系统选择(Windows/Mac/Linux)
  3. 安装时保持默认选项(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:更改已永久存入本地仓库

示例操作流:

  1. 新建file.txt → Untracked
  2. git add file.txt → Staged
  3. git commit -m "Add file" → Committed
  4. 修改file.txt → Modified
  5. 再次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"