Git是什么

简单介绍:

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> 克隆远程仓库到本地。
  • 工作示意图:
相关推荐
李狗蛋儿啊1 小时前
zero自动化框架搭建---Git安装详解
运维·git·自动化
人工干智能4 小时前
科普:“git“与“github“
git·github
{⌐■_■}16 小时前
【git】提交修改、回撤、回滚、Tag 操作讲解,与reset (--soft、--mixed、--hard) 的区别
大数据·git·elasticsearch
GardenTu18 小时前
初尝git自结命令大全与需要理解的地方记录
git·github
机械心1 天前
代码管理git详细使用教程及最佳实践路径
git
hkj88081 天前
Git 常用命令
git
dawnkylin2 天前
通过 fork 为项目做出贡献
git·github
1379003402 天前
Git 设置代理
git
xiaodunmeng2 天前
sourcetree gitee 详细使用
git