简单介绍:
Git是一个分布式版本控制 系统,用于跟踪文件的更改,特别是在多人协作开发的环境中。
Key:
分布式 | 版本控制 | 系统 |
---|
最常用于软件开发,但也可以用于管理任何类型的文件和文件夹。
Git帮助团队跟踪和管理文件的历史版本,使得多人可以协同工作、进行并行开发,且能随时回溯到之前的版本。
- 分布式:

ps.
Computer A 和Computer B 之间的箭头并不意味着它们直接相互交互或交换文件,而是它们通过 与服务器的交互,以保持版本同步。
具体来说,这表示 电脑 A 和电脑 B 都可以与服务器进行数据交换 ,并且它们可以 互相同步和获取版本数据
与传统的集中式分布进行比较:
| 特性 | 集中式版本控制系统 (CVCS) | 分布式版本控制系统 (DVCS) |
| 工作模式 | 依赖中央服务器,必须在线才能操作 | 每个开发者有完整的代码库副本,可以离线工作 |
| 容错能力 | 服务器故障会导致数据丢失或无法工作 | 每个开发者持有完整的代码库副本,服务器故障不影响本地工作 |
| 分支与合并 | 分支操作复杂且难以管理 | 支持快速、简便的分支与合并操作,提高开发灵活性 |
| 协作效率 | 需要频繁与中央服务器同步,可能造成延迟和冲突 | 可以本地完成操作后推送,减少等待时间和冲突,提高协作效率 |
灵活性与管理 | 主要由中央服务器管理,灵活性较低 | 支持多个远程仓库之间的数据共享和管理,提供更高的灵活性和分布式管理 |
---|
- 版本控制:
主要目的是记录文件的历史变化,并支持团队协作,避免文件冲突和丢失。版本控制系统可以让多个开发者在不同的时间、地点同时编辑同一项目,且能够管理每次修改、查看历史版本,甚至恢复到之前的版本
基本操作:
提交(Commit):保存文件的变更记录。
更新(Update):从版本库拉取最新的变更。
分支(Branch):创建独立的开发路径,用于开发新功能或修复bug。
合并(Merge):将不同分支的改动合并到主分支。
Git工作流程:


Git客户端操作流程:
| 操作步骤 | 命令 | 说明 |
| 1. 初始化Git仓库 | git init
| 在当前目录下初始化一个新的Git仓库。 |
| 2. 配置用户信息 | git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
| 配置全局用户名和邮箱,用于标记提交记录。 |
| 3. 添加文件到暂存区 | git add <filename>
git add .
| 将文件添加到暂存区,准备提交。 |
| 4. 提交文件 | git commit -m "Your commit message"
| 将暂存区的文件提交到本地版本库,并添加提交信息。 |
| 5. 查看状态 | git status
| 查看当前工作目录和暂存区的状态。 |
| 6. 查看历史 | git log
| 查看提交历史,查看项目的变更记录。 |
| 7. 创建分支 | git branch <branch-name>
| 创建一个新的分支。 |
| 8. 切换分支 | git checkout <branch-name>
| 切换到指定的分支。 |
| 9. 创建并切换分支 | git checkout -b <branch-name>
| 创建并立即切换到新的分支。 |
| 10. 合并分支 | git merge <branch-name>
| 将指定分支的更改合并到当前分支。 |
| 11. 查看分支 | git branch
| 查看当前所有分支及所在的分支。 |
| 12. 删除分支 | git branch -d <branch-name>
| 删除不再需要的本地分支。 |
| 13. 关联远程仓库 | git remote add origin <repository-url>
| 将本地仓库与远程仓库进行关联。 |
| 14. 推送更改到远程仓库 | git push origin <branch-name>
| 将本地分支的更改推送到远程仓库。 |
| 15. 拉取远程仓库更改 | git pull origin <branch-name>
| 从远程仓库拉取指定分支的最新更改并合并到本地分支。 |
16. 克隆远程仓库 | git clone <repository-url> |
克隆远程仓库到本地。 |
---|
- 工作示意图:
