Git版本控制 为什么那么复杂 头大 (忍不住强烈吐槽)

【Git】版本控制工具——Git介绍及使用 Git教程 阅读详情

想把自己的源码保存到云端,想到了用Github.com,然后便开始看怎么使用GIT。

一开始,没有接触之前,想的很简单的。应该就跟SVN差不多吧,写好了提交就可以了。

不过使用了之后才发现根本就不是这样,而且阅读了官网的介绍说明手册,更是觉得不仅不是想象的那样,反而根本就难以理解,甚至无法理解。


GIT官网的一段描述:

在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

举个例子,如果要浏览项目的历史更新摘要,Git 不用跑到外面的服务器上去取数据回来,而直接从本地数据库读取后展示给你看。所以任何时候你都可以马上翻阅,无需等待。如果想要看当前版本的文件和一个月前的版本之间有何差异,Git 会取出一个月前的快照和当前文件作一次差异运算,而不用请求远程服务器来做这件事,或是把老版本的文件拉到本地来作比较。

用 CVCS 的话,没有网络或者断开 VPN 你就无法做任何事情。但用 Git 的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程仓库。同样,在回家的路上,不用连接 VPN 你也可以继续工作。换作其他版本控制系统,这么做几乎不可能,抑或非常麻烦。比如 Perforce,如果不连到服务器,几乎什么都做不了(译注:默认无法发出命令 p4 edit file 开始编辑文件,因为 Perforce 需要联网通知系统声明该文件正在被谁修订。但实际上手工修改文件权限可以绕过这个限制,只是完成后还是无法提交更新。);如果是 Subversion 或 CVS,虽然可以编辑文件,但无法提交更新,因为数据库在网络上。看上去好像这些都不是什么大问题,但实际体验过之后,你就会惊喜地发现,这其实是会带来很大不同的。

地址:http://www.git-scm.com/book/zh/%E8%B5%B7%E6%AD%A5-Git-%E5%9F%BA%E7%A1%80#%E8%BF%91%E4%B9%8E%E6%89%80%E6%9C%89%E6%93%8D%E4%BD%9C%E9%83%BD%E6%98%AF%E6%9C%AC%E5%9C%B0%E6%89%A7%E8%A1%8C



1)不用联网就可以使用?

SVN不用联网也是可以使用的,为什么GIT还得特别强调自己不用联网就可以使用。


2)不用联网就可以使用?

这个让人实在是无法理解,不用联网就可以使用。假如不联网的时间长达1天、10天、1年甚至10年,你每天自己修改本地的,10年之后才提交,那还算是版本控制吗?

别人都在疯狂的提交代码更新,而你却一直都是在本地编辑修改自己的,提交到本地,但是不push到远程。这样1年、10年,再联网提交过去。git还可以神奇到帮你自动合并了????????????????????????????????????????????????????






Vienna整流器双PI闭环仿真:从SVPWM调制到中点电位平衡的实践解析 本文深入解析Vienna整流器双PI闭环仿真技术,涵盖SVPWM调制和中点电位平衡的实践细节。通过详细的MATLAB/Simulink仿真搭建流程和常见问题排查方法,帮助工程师掌握高效整流器控制策略,提升系统稳定性和动态响应性能。 阅读详情

相关推荐

【AAAI 2025】轻量级特征增强新范式!FCM 模块助力小目标检测,即插即用提升模型泛化能力

本文介绍了AAAI 2025提出的轻量级特征增强新范式FCM模块,它通过显式分离并双向交互语义与空间特征,有效解决了小目标检测中特征信息失配的核心难题。该模块设计精巧,计算开销极低,能够即插即用式地嵌入YOLO等主流检测网络,显著提升模型对小目标的泛化检测能力,尤其适用于遥感、自动驾驶等对计算资源敏感的实际场景。

weixin_29056145的博客 287

为什么Git的教程都那么繁杂?

很多指令、工作原理等大部分人在日常工作学习中用不到。因此,git作为一种工具,并不适合系统性地全面学习。 GIT本身就复杂,网络上有些教程三十多集以上,甚至五十多级的大概率是全面系统的教学。 在日常工作、学习中,按需学习,不要盲从。

SiKi学院的博客 466

激光三角测量法:斜射与直射式技术的原理与应用解析

本文深入解析激光三角测量法中斜射式与直射式技术的原理、应用及对比。斜射式适用于高精度小范围测量,尤其擅长处理反光表面;直射式则适合大范围位移检测,结构更简单。文章详细介绍了两种技术的光路分析、数学建模、应用场景及选型建议,并探讨了系统校准与误差分析方法,为工业检测领域提供实用参考。

weixin_29280219的博客 414

“Git 是我用过最笨重的软件”!喷完 C++ 喷 Git,这位 Azure CTO 到底何许人也?...

作者 | 辛晓亮出品 | 优快云(ID:优快云news)几天前呼吁停用 C++ 改换 Rust的微软 Azure CTO 这次又在推特上疯狂吐槽 Git,Mark Russinovich 称:“Git 是我使用过的所有软件中界面最不直观、最笨重的,它让我抓狂的想拔掉自己的头发”。如 Mark Russinovich 吐槽,开发者圈中关于 Git CLI 和 GUI 哪个更好用的争论是长期存...

AI科技大本营 1156

Zabbix安装与部署 系统环境:centos7.0

Zabbix安装与部署 系统环境:centos7.0

weixin_42485027的博客 2600

配置Dot1q终结子接口实现跨设备VLAN间通信示例

示例图 一.实验目的 1.配置Dot1q终结子接口实现跨设备VLAN间通信示例 二.注意事项 1.Dot1q终结子接口和QinQ终结子接口不支持透传不带VLAN Tag的报文, 收到不带VLAN Tag的报文会直接丢弃 2.由于三层以太网子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是 非法报文而丢弃,因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结 三.VLAN终结简介 1.VLAN终结的实质包含两个方面: ①.对接口接收到报文,剥除VLAN标

qq_44751470的博客 7097

我痛恨 Git 的 10 个理由

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34198797的博客 208

自学 ABAP 和自学 SAP 的差别

有朋友在我的 ABAP 学习教程里留言: > 自学SAP是不是都要搭建虚拟服务器,然后自己去官网下载新版本SAP就可以吗 对于初学者,我们要搞清楚 ABAP 和 SAP 的区别。 ABAP 是一门编程语言,SAP 首先是德国软件公司的名称,也代表这家公司开发的一系列软件。SAP 公司开发的软件,我们有时也称产品,其功能能满足客户一个或者多个领域的业务需求。这些不同领域,我们也称为不同的业务模块,比如 ERP,CRM,SRM,HR 等等。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 6862

如果你觉得学习 Git 很枯燥,那是因为你还没玩过这款游戏!

点击关注公众号,回复“1024”获取2TB学习资源!大家好!我是民工哥。对于Git,相信大多数程序员并不会感到陌生。作为目前世界上最先进的分布式版本控制系统(没有之一),Git 是一个开源...

民工哥的博客 1296

Palantir如何利用Ontology构建企业级数据地图

Palantir通过"本体论"(Ontology)技术构建动态数据地图,将多源异构数据转化为可操作的业务知识网络。该技术突破传统ETL模式,建立覆盖全组织的语义层,将原始数据映射为"客户""订单"等业务对象及其关联关系,形成可推理的语义网络。核心Foundry平台提供本体管理工具(OMA)和开发套件(OSDK),支持从数据连接到应用开发的全流程。虽然采用专有实现而非标准本体语言,但该架构成功解决了数据孤岛问题,赋能复杂决策分析

Learning 1792

18、地下矿山中人工智能在区分真实微震事件与噪声信号的应用

本文提出一种基于遗传编程(GP)的新型经验模型,用于地下矿山中真实微震事件与噪声信号(特别是爆破信号)的自动区分。针对传统方法和常见机器学习算法存在的黑箱问题、过拟合及准确性不足等局限,GP模型通过符号回归和进化机制生成可解释的数学表达式,具备自动特征选择能力,有效提升了分类准确率。研究使用包含100个样本的真实数据库,结合敏感性分析优化模型参数,并与线性判别分析(LDA)进行对比,结果表明GP模型在分类性能上更具优势。该模型可应用于实时微震监测系统,提高矿山安全生产水平,降低误判带来的成本开销,具有良好的

assembly8low的博客 94

GIT使用踩坑!!!我的妈妈呀,烦死了烦死了烦死了!!!

烦死了

做一个有趣的妞儿 883

一个服务如何被找到、被调用、被看见:注册中心、发布注册、发现调用与服务监控的治理闭环

服务数量一多,“对方在哪儿”就成了时刻变化的变量。本文沿发布、注册、发现、调用、监控的治理闭环展开:注册中心的数据模型、健康检查与AP/CP取舍,自我保护、推空保护与本地快照三道自保机制;服务发布的启动器、动态代理、发布管理器、协议服务器与登记顺序;消费端的服务目录、请求ID配对、六种集群容错与三种发现模式;日志、指标、链路三支柱与熔断舱壁。配套五个Java演示程序实测:默认参数下宕机实例平均240秒才被摘除,优雅下线可降至45秒,统计窗口长于租约会让自我保护失效,尾部采样可捕获全部慢请求。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

Git版本号控制 为什么那么复杂 头大 (忍不住强烈吐槽)

想把自己的源代码保存到云端。想到了用Github.com,然后便開始看怎么使用GIT。 一開始,没有接触之前,想的非常easy的。应该就跟SVN几乎相同吧。写好了提交就能够了。 只是使用了之后才发现根本就不是这样。并且阅读了官网的介绍说明手冊,更是认为不仅不是想象的那样,反而根本就难以理解,甚至无法理解。 GIT官网的一段描写叙述: 在 Git 中的绝大多数操作都仅仅须...

weixin_30483013的博客 140

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Git版本控制工具的原理及应用详解(一)

Git的出现为开发者们带来了许多便利和效率提升,但对于初学者来说,Git的原理和应用可能会显得有些复杂和困惑。本系列文章将详细介绍Git的原理和应用,帮助大家全面了解Git并能够熟练运用。 在本系列文章中,我们将首先介绍版本控制的基本概念和作用,以及为什么需要使用版本控制工具。接下来,我们将深入剖析Git的原理,包括工作区、暂存区和仓库的概念,以及Git的基本操作和常用命令。我们还将讨论分支管理、合并和冲突解决等高级话题,帮助大家更好地理解和运用Git。

凛鼕将至的博客 2914

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

GIT版本控制

版本控制()是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化过程,以便将来查阅特定版本修订情况的系统。版本控制深入程序员在团队配合中,如果你的项目没有版本控制: 一、 代码管理混乱。二、 解决代码冲突困难。三、 在代码整合期间引发BUG。四、 无法对代码的拥有者进行权限控制。五、 项目不同版本发布困难。......很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了。

m0_63600788的博客 1136

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用Git进行版本控制:前端开发者的最佳实践

使用Git进行版本控制:前端开发者的最佳实践

商务合作欢迎私信我 1万+

Git版本控制:提升开发效率的利器

Git是一种分布式版本控制系统,广泛应用于软件开发中。它可以记录和管理项目的历史修改,并支持多人协作开发。通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等操作,保证代码的稳定性和可追溯性。作为前端开发人员,熟练掌握Git能够提高团队协作效率,有效管理代码库,保证项目的质量和可维护性。

会思想的苇草i的博客 4906

Git:从诞生到引领版本控制

Git的前世今生是一段充满创新与挑战的发展历程。以下是Git从诞生到如今的详细回顾。

byte轻骑兵的技术小窝 1万+

Git版本控制器的使用

Git - Downloads下载后只需要下一步。。。。。。。双击下载的安装文件来安装Git。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。 安装完成后,还需要最后一步设置,在命令行输入: 因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。注意命令的参数,用了这个参数,表示你这台机器上所有的

Ysuhang的博客 352

Git 版本控制工具

版本控制是记录文件和目录历史更改,它允许在开发过程中跟踪和管理不同版本的源代码;版本控制系统(VCS)提供了一种机制,可以查看代码随时间的变化,回滚到之前的版本,比较不同版本之间的差异,以及在必要时合并来自不同开发者的更改;: 文件或文件集合在版本控制系统中的一个特定状态::将修改、添加或删除文件 提交记录到版本控制系统中,形成一个新的版本:版本控制中的一个独立开发线,允许开发者在不同的特性或修复上并行工作。:将一个分支的更改应用到另一个分支上,通常用于将特性分支的更改合并回主分支。

qq_66851231的博客 888

Day 26:Git的版本控制原理:为什么Git如此高效基于快照而非差异的存储机制

Git的高效性源于其独特的快照存储机制。与传统版本控制系统记录文件差异不同,Git会保存每个版本的完整快照,但通过内容寻址技术(SHA-1哈希值)只存储实际变化的内容,重复文件不会占用额外空间。这种设计使得Git能够快速定位历史版本,同时保证数据完整性。通过git cat-file等命令可以查看Git存储的快照内容,而在GitCode等平台上也能验证这一机制。相比差异存储方式,快照机制提供了更简单高效的回滚体验,使版本管理如同翻阅相册般直观。

自律即自由 1235

Git——版本控制为王

前言 单枪匹马,独闯天下的时代已经过去,团队,组织间的协同开发已然成为了主流。那么如何最大化的加快开发时间?如何确保个体差异性得以解决不冲突?svn,git等一系列版本控制软件应运而生,其中git以其优良的本地版本控制脱颖...

不忘初心的博客 2万+

idea配置版本控制(git和svn)

idea下配置版本控制,最常用的版本控制为git和svn idea配置git: 首先安装git,本人安装的版本为Git-2.16.2-64-bit.exe 备注:TortoiseGit-2.8.0.0-64bit.msi是git小乌龟,Tortoisegit是Git的一个插件,Git程序本身还是要安装的,跟tortoiseSVN差不多用法 idea配置git(默认情况下idea只是支持...

Asan 1万+

版本控制器Git

Git是一款分布式版本控制系统,能高效管理文件修改历史,支持多人协作开发。介绍了Git的核心概念和优势,包括去中心化设计、分布式特性以及与Linux的渊源。讲解了Git安装配置、Gitee平台使用以及"三板斧"操作流程(add、commit、push)。还涵盖常用命令、.gitignore配置和免密提交设置。

原来是猿的成长足迹 1022

关于版本控制 - Git

从字面上理解,就是记录文件或项目的修改历史的系统,方便追踪文件的变更,例如软件开发的代码文件、文档撰写中的文档、设计过程中的图形文件,这些文件会不断被修改。版本控制能够记录谁在什么时候对文件做了什么修改,这样可以方便地回溯到之前的某个版本,或者查看文件是如何逐步演变的。

qq_66118130的博客 1173
上一篇: PHP MVC自动RBAC访问路由自动生成
下一篇: phpStorm 新建文件SVN不提交的解决办法
评论 16
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值