@startuml
!define RECTANGLE class
' Git 基本概念
RECTANGLE "Git 基本概念" {
[版本控制系统] as VCS
[分布式架构] as DA
[提交与分支] as CB
[工作区和暂存区] as WA
}
' Git 操作流程
RECTANGLE "Git 操作流程" {
[初始化仓库] as Init
[添加文件] as Add
[提交更改] as Commit
[推送拉取] as Push
}
' Git 问题解决
RECTANGLE "Git 问题解决" {
[冲突解决] as Conflict
[历史修改] as History
[远程连接问题] as Remote
}
' 关系
VCS --> DA
DA --> CB
CB --> WA
Init --> Add
Add --> Commit
Commit --> Push
Push --> Conflict
Conflict --> History
History --> Remote
@enduml
Git是当今最流行的分布式版本控制系统,本文将全面介绍Git的基本概念、常用命令、操作流程以及常见问题的解决方案,帮助你快速掌握这一强大的开发工具。
Git的基本概念
什么是Git?
Git是一个分布式版本控制系统,由Linux之父Linus Torvalds于2005年创建,用于Linux内核开发。与集中式版本控制系统(如SVN)不同,Git允许开发者在本地拥有完整的代码库副本,这意味着:
- 可以在没有网络连接的情况下工作
- 每个开发者都有完整的版本历史
- 分支和合并操作速度快且灵活
Git的核心概念
了解以下核心概念对掌握Git至关重要:
- 工作区(Working Directory):你实际编辑文件的目录
- 暂存区(Staging Area/Index):保存将要提交的文件信息
- 本地仓库(Local Repository):存储提交的历史记录
- 远程仓库(Remote Repository):托管在服务器上的共享仓库
Git的工作流程
Git的 基本工作流程如下:
- 在工作区修改文件
- 将更改添加到暂存区(
git add
) - 将暂存区的更改提交到本地仓库(
git commit
) - 将本地仓库的更改推送到远程仓库(
git push
)
Git入门:基本命令
安装Git
根据你的操作系统,安装Git的方法略有不同:
Windows: 下载并安装Git for Windows
macOS:
使用Homebrew安装: brew install git
或下载安装程序
Linux:
Debian/Ubuntu: sudo apt-get install git
Fedora: sudo dnf install git
配置Git
安装Git后,首先应该配置用户信息:
# 配 置用户名和邮箱
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
# 查看配置
git config --list
创建仓库
有两种方法创建Git仓库:
初始化新仓库:
# 创建新目录
mkdir my-project
cd my-project
# 初始化Git仓库
git init
克隆现有仓库:
git clone https://github.com/username/repository.git
基本操作
以下是日常使用Git的基本命令:
查看状态和差异
# 查看仓库状态
git status
# 查看未暂存的更改
git diff
# 查看已暂存的更改
git diff --staged
添加和提交更改
# 添加特定文件到暂存区
git add filename
# 添加所有更改到暂存区
git add .
# 提交暂存的更改
git commit -m "提交信息"
# 直接提交所有更改(跳过暂存区)
git commit -a -m "提交信息"
查看历史
# 查看提交历史
git log
# 查看简洁的历史
git log --oneline
# 查看图形化的历史
git log --graph --oneline --all
撤销更改
# 撤销工作区的更改
git checkout -- filename
# Git 2.23+版本的新命令
git restore filename
# 取消暂存
git reset HEAD filename
# 或
git restore --staged filename
# 修改最近的提交
git commit --amend
分支操作
分支是Git的强大功能之一,允许你并行开发不同的功能:
# 查看分支
git branch
# 创建分支
git branch branch-name
# 切换分支
git checkout branch-name
# 或Git 2.23+
git switch branch-name
# 创建并切换分支
git checkout -b branch-name
# 或
git switch -c branch-name
# 合并分支
git merge branch-name
# 删除分支
git branch -d branch-name