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

文章探讨了Git的基本使用与其复杂教程的原因,指出人们往往忽视同步的复杂性,导致对工具的误解。通过iCloud和华为云的例子,作者强调在云服务中,单一操作可能因设备同步情况产生不同结果,因此需要产品设计简化处理机制以确保一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在花了两个小时左右的时间大致了解了git的工作原理与常用指令后后,就已经能够使用它了。

可是在网上看到的那些教程为什么都是30多集以上的,更有甚者有50多集。

Git作为一个工具,我感觉能用就行了,何必再花这么大心思去学呢?使用者又不去重构一个git,那些教程这么繁杂真的好吗?
因为 “同步” 这2个字本身就很复杂,细分:

  1. 我的修改 要不要 让别人知道
  2. 别人的修改 要不要 让我知道
  3. 我的删除 要不要 删别人的
  4. 别人的删除 要不要 删我的
  5. 我的修改 与别人的修改 有冲突怎么办

只不过,绝大部分人没有深度思考 + 拆分的能力,而觉得 “实时同步“ 很简单,即 “你按我脑海中的想法去做,我想留就留,我想删就删,如果我想错了,你还得救回来“。

你不理解 “同步” 的复杂性,自然也就不理解 “为什么Git要搞这么多事情”。这个复杂性对“云备份”同样适用。

我就亲耳所闻,在星巴克,一个妹子和苹果客服,通话了1个多小时,妹子一直在咆哮,骂iCloud又贵又不好用,反反复复表达3个问题:

  1. 为什么我删的图片远程的还有
  2. 为什么我删的图片远程也删了
  3. 为什么远程删的图片本地的还留着

这就是上面表述的客观体现。

华为的案例,我认为非常经典,这里单独伶出来分享。

vector同学想要删除华为云的照片,必须要先打开同步,直到本地端和云端同步完成,才可以执行删除操作。而这是华为云的官方操作,并且这个操作流程通过软件以落实到位,不满足要求就不给你删。

我们可以略微分析一下,如果不这么做,对于同一个“删除云端文件”而言,考虑3个本地设备的情形:
1、用户删了云端 A.jpeg,ABC 3个参与同步的设备中 B存在1个有副本,恰巧这个设备最近几个月没同步。这个设备下一次同步后,云端的 A.jpeg 都会再次出现,因为B同步时,A.jpeg会被再次上传到云端。
2、用户删了云端 A.jpeg,ABC3个设备都没有副本,那就真的删了

对用户而言,一个单一的 “删除云端文件操作”,根据不同的情形,它的结果是不单一的。普通客户不会仔细分析背后的机理,而会直接认为 “垃圾软件,删文件都删不了”。

作为产品设计,为了让“单一的操作出现单一的结果“,就必须对上述情况进行简化,例如 ”要删除云端的文件,必须先满足所有设备对 A.jpeg 的共识是一致的“,从而确认 “删除云端“ 的操作,不会因为其他设备的后续同步带来歧义。即使只有1个设备,也按多设备的方案去处理。

一个删除操作都尚且如此,更何况是修改文件内容?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值