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

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


Git客户端操作流程:
| 操作步骤 | 命令 | 说明 |
|---|---|---|
| 1. 初始化Git仓库 |
| 在当前目录下初始化一个新的Git仓库。 |
| 2. 配置用户信息 |
| 配置全局用户名和邮箱,用于标记提交记录。 |
| 3. 添加文件到暂存区 |
| 将文件添加到暂存区,准备提交。 |
| 4. 提交文件 |
| 将暂存区的文件提交到本地版本库,并添加提交信息。 |
| 5. 查看状态 |
| 查看当前工作目录和暂存区的状态。 |
| 6. 查看历史 |
| 查看提交历史,查看项目的变更记录。 |
| 7. 创建分支 |
| 创建一个新的分支。 |
| 8. 切换分支 |
| 切换到指定的分支。 |
| 9. 创建并切换分支 |
| 创建并立即切换到新的分支。 |
| 10. 合并分支 |
| 将指定分支的更改合并到当前分支。 |
| 11. 查看分支 |
| 查看当前所有分支及所在的分支。 |
| 12. 删除分支 |
| 删除不再需要的本地分支。 |
| 13. 关联远程仓库 |
| 将本地仓库与远程仓库进行关联。 |
| 14. 推送更改到远程仓库 |
| 将本地分支的更改推送到远程仓库。 |
| 15. 拉取远程仓库更改 |
| 从远程仓库拉取指定分支的最新更改并合并到本地分支。 |
| 16. 克隆远程仓库 |
| 克隆远程仓库到本地。 |
- 工作示意图:

相关文章:
Git是什么
简单介绍: Git是一个分布式版本控制系统,用于跟踪文件的更改,特别是在多人协作开发的环境中。 Key: 分布式 版本控制 系统 最常用于软件开发,但也可以用于管理任何类型的文件和文件夹。 Git帮助团队跟踪和管理文件的历史版本&a…...
双非计科毕业,二战未果想就业,选择嵌入式开发还是Java开发更合适?
今天给大家分享的是一位粉丝的提问,双非计科毕业,二战未果想就业,选择嵌入式开发还是Java开发更合适? 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问&#x…...
性格测评小程序开发指南
目录 前言目录01 需求分析02 数据源设计03 搭建用户管理04 题库管理05 用户注册06 用户注册校验07 用户登录08 测评功能搭建09 提交结果10 生成报告 学习目标面向人群结语 前言 欢迎阅读《性格测评小程序开发指南》!本书旨在为开发者、低代码爱好者和学习者提供一个…...
shell编程总结
前言 shell编程学习总结,1万3千多字带你学习shell编程 往期推荐 14wpoc,nuclei全家桶:nuclei模版管理工具Nuclei 哥斯拉二开,免杀绕过规避流量检测设备 fscan全家桶:FscanPlus,fs,fscan适用…...
析言GBI:用自然语言交互重构企业数据分析范式
亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、Java 与 Python 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在未来…...
【论文技巧】Mermaid VSCode插件制作流程图保存方法
插流程图快点 利用Mermaid Preview插件自带功能 如果你的VSCode安装了支持导出图片的Mermaid预览插件(如 Mermaid Markdown Syntax Highlighting 等),可以按以下步骤进行: 打开Mermaid代码文件:在VSCode中打开包含M…...
Unity 位图字体
下载Bitmap Font Generator BMFont - AngelCode.com 解压后不用安装直接双击使用 提前设置 1、设置Bit depth为32 Options->Export options 2、清空所选字符 因为我们将在后边导入需要的字符。 Edit->Select all chars 先选择所有字符 Edit->Clear all chars i…...
科技快讯 | DeepSeek推出NSA加速长上下文训练,xAI Grok系列将陆续开源,月之暗面发布Kimi Latest新模型
阶跃星辰首次开源Step系列多模态大模型 2月18日,财联社消息,阶跃星辰与吉利汽车集团宣布,双方合作开发的阶跃Step系列多模态大模型向全球开发者开源。包括参数量达300亿的Step-Video-T2V视频生成模型和行业内首款产品级开源语音交互大模型Ste…...
网络安全 | 5G网络安全:未来无线通信的风险与对策
网络安全 | 5G网络安全:未来无线通信的风险与对策 一、前言二、5G 网络的技术特点2.1 超高速率与低延迟2.2 大容量连接与网络切片三、5G 网络面临的安全风险3.1 网络架构安全风险3.2 设备终端安全风险3.3 应用场景安全风险3.4 用户隐私安全风险四、5G 网络安全对策4.1 强化网络…...
Linux 实操篇 组管理和权限管理、定时任务调度、Linux磁盘分区和挂载
一、组管理和权限管理 (1)Linux组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外 在linux中每个文件有所有者、所在组、其他组的概念 (2)文件/目录 所有者 一般为文件的创建者,谁创建了该…...
应用案例 | uaGate SI助力汽车零部件工厂将生产数据传输到MES
一、背景和挑战 (图1 汽车零部件工厂生产车间) 随着汽车工业的不断发展,新能源汽车市场的竞争日益激烈,这对汽车零部件供应商提出了更高的要求,包括提升产品精度、增强可靠性、节能环保以及控制成本等多个方面。某国际…...
Android JNI的理解与使用。
写在前面:Java相对于C/C来说是更高级的语言,隐藏了指针,可读性更高,更容易学习,但是无法直接操作硬件、运行速度较慢也是不可回避的硬伤。JNI就是Java官方定义的一套标准“接口”,用于Java和C/C之间互相调用…...
fpga助教面试题
第一题 module sfp_pwm( input wire clk, //clk is 200M input wire rst_n, input wire clk_10M_i, input wire PPS_i, output reg pwm ) reg [6:0] cunt ;always (posedge clk ) beginif(!rst_n)cunt<0;else if(cunt19) //200M是10M的20倍cunt<0;elsecunt<cunt1;…...
Git命令详解与工作流介绍:全面掌握版本控制系统的操作指南
Git Git是一个版本控制系统(也称为源代码控制系统),允许程序员和其他处理文本文件的人在独立工作时协调更改。Git还支持二进制资产,如图片,但这些格式不支持逐行版本管理,这使得版本控制真正强大。 Git概…...
提升信息检索准确性和效率的搜索技巧
一、基础技巧 精准关键词 避免长句子,提取核心关键词(如用“光合作用 步骤”代替“请告诉我光合作用的具体过程”)。 同义词替换:尝试不同表达(如“AI 发展史” vs “人工智能 历史”)。 排除干扰词 使用…...
Qt 中使用 ffmpeg 获取采集卡数据录制视频
作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 前言 之前做了一个功能,从采集卡获取数据然后录制成视频,结果发现录制的视频内存占用非常大,1分钟的…...
Python爬虫TLS
TLS指纹校验原理和绕过 浏览器可以正常访问,但是用requests发送请求失败。 后端是如何监测得呢?为什么浏览器可以返回结果,而requests模块不行呢? https://cn.investing.com/equities/amazon-com-inc-historical-data 1.指纹校…...
【Linux AnolisOS】配置Linux固定ip地址。然后在Windows上连接使用linux中docker容器里的redis和nacos。
1.关于将虚拟机ip地址更改为静态地址 ,跟着下面这个视频搞的,不想看文章的可以看视频。 第四章-07-配置Linux固定IP地址哔哩哔哩bilibili 当用的centos9 视频里让我们打开网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 但是我打开时…...
IDEA中查询Maven项目的依赖树
在Maven项目中,查看项目的依赖树是一个常见的需求,特别是当你需要了解项目中直接或间接依赖了哪些库及其版本时。你可以通过命令行使用Maven的dependency:tree插件来做到这一点。这个命令会列出项目中所有依赖的树状结构。 打开idea项目的终端ÿ…...
【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程
文章目录 一、问题描述二、解决方案2.1 寻找问题进程2.2 尝试杀死相关进程2.3 投放核弹,一键全杀2.4 再次查看GPU使用情况 参考资料 一、问题描述 今天使用服务器的时候发现gpu被占了很多内存,但是使用 nvidia-smi 命令并没有发现占这么多显存的进程&am…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
