什么是 Git?
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年为帮助管理 Linux 内核开发而创建。与集中式版本控制系统(如 SVN、CVS)不同,Git 的每个工作目录都是一个完整的版本库,具有完整的历史记录和版本跟踪能力,不依赖于网络连接或中央服务器。
版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。有了它,你可以将某个文件回溯到之前的状态,甚至将整个项目回退到过去某个时间点的状态。
Git 的特点
分布式
每个开发者都有完整的项目历史副本,可以在本地工作而无需网络连接。
强大的分支管理
创建、合并和删除分支操作快速简单,鼓励非线性开发工作流。
高性能
Git 在处理大型项目和长期历史时表现出色,操作速度极快。
数据完整性
Git 中的所有内容在存储前都经过校验和计算,确保数据完整性。
Git 基本工作流程
Git 的基本工作流程涉及三个主要区域:工作目录、暂存区(stage/index)和 Git 仓库。
1
工作目录
修改文件
2
暂存区
暂存已修改的文件
3
Git 仓库
提交更改
4
远程仓库
推送更改
# 初始化新仓库
git init
# 克隆现有仓库
git clone https://github.com/user/repo.git
# 添加文件到暂存区
git add filename
# 提交更改
git commit -m "提交说明"
# 推送到远程仓库
git push origin main
git init
# 克隆现有仓库
git clone https://github.com/user/repo.git
# 添加文件到暂存区
git add filename
# 提交更改
git commit -m "提交说明"
# 推送到远程仓库
git push origin main
Git 与集中式版本控制系统的区别
集中式版本控制系统 (CVCS)
- 有一个单一的集中管理的服务器,保存所有文件的修订版本
- 协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新
- 如果中央服务器单点故障,会影响所有开发者
- 代表:Subversion (SVN), Perforce, CVS
分布式版本控制系统 (DVCS)
- 客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来
- 每一次的克隆操作,实际上都是一次对代码仓库的完整备份
- 系统上的每一次历史记录都可以在本地查阅,无需网络连接
- 代表:Git, Mercurial, Bazaar
Git 常用命令
基础命令
git init - 初始化新仓库
git clone [url] - 克隆现有仓库
git status - 检查仓库状态
git add [file] - 添加文件到暂存区
git commit -m "[message]" - 提交更改
分支操作
git branch - 列出所有分支
git branch [branch-name] - 创建新分支
git checkout [branch-name] - 切换到分支
git merge [branch] - 合并分支