自己用 git 之后,感到由于知识不系统,很多问题都解决不了,就照着《 Git 权威指南》学完。
回想起自己没这么干之前,最大的误解就是认为 git 是 linus 的伟大作品设计是很好的,但是仅从命令行的设计来看,这个东西是极烂的。
如果你上手之后发现总是很难用,有时候很让人困惑,那么不要感到很自卑,本来就很难用,本来就很复杂。
StackOverFlow 上排名前 5 的问题中有 3 个和 Git 有关,这说明大多数工程师在使用中经常会感到困惑。
如果你感觉很简单,那么要不就是「专家谬误」,要不就是你天赋异禀,异于常人。
具体来讲,最容易被看到的设计硬伤是:
git reset
子命令,功能是名不副实的index
,stage
和cache
git brach -b
等价于 git branch
后跟 git checkout
实际上,工具越出名,越底层,改进的空间越小。
像编程语言这种东西,基本上就是没有后期修改的,稍微动动就是鬼哭狼嚎的。
例如,Java 字节码自从诞生之后就基本上没改过,连向后兼容的更改都没有。
git 这些 cli 不是精心设计的,被精心设计的只是核心原理,cli 的各种功能是堆出来的,可以说基本上就没有什么设计可言,这个鬼样子也是可以理解的。
等到感到不改不行的时候,往往就已经晚了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.