Skip to main content

Posts

Showing posts from July 7, 2019

Git分支管理实践

Linux & Git 被称为 Linus Travis 的两大神作, 实至名归! 在谈 Git 之前, 先谈一下 Linux。 Linux 和 Windows 作为两个广泛使用的操作系统, 有着极大的差异, 在各种广泛的评价和争执中, 我对下面的评价十分赞同 : Linux 与 Windows 最本质的区别在哪里。 有人会说前者免费,后者需要买 (或偷)。 这只是对 “free software” 的曲解。 在我看来,二者最重要的区别乃是它们对自己的用户所做的假设。 对于 Linux,这个假设是: 用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责。 而 Windows 则恰好相反: 用户不知道自己想要什么,也不明白自己在做什么,更不打算为自己的行为负责。 我不晓得上述观点最初源自哪里, 或许是这里:  Zaikun's Blog。 我不是一个极端主义者, 这两种理念没有谁是谁非, 孰优孰劣. 海纳百川, 有容乃大, 我会尝试发现每一种理念的优势和适用场景, 而不是一味地去否定什么。 在工作场景上, 我更喜欢 Linux 的理念 : 我曾rm -rf误删过/etc目录, 导致系统陷入瘫痪; 也曾因包管理依赖问题而导致软件损坏 ... 在我看来, 这些都不可怕, Linux 会准确的向我展示故障原因, 而不是「请稍后...」, 「我们正在做一些准备工作」 这里故障原因是指一个基于广泛认知基础上的解释. 比如: 如果因为代码编写的失误, 导致一段程序没有按照设计意图执行, 我只需了解代码层面的逻辑错误即可, 而不是深究错误的代码在电路层面导致了什么样的问题发生 日复一日的使用, 我犯错误的概率越来越低, 对 Linux 本身的理解越来越深入, 对 Linux 越来越信任, 并且逐渐有了一种对 Linux 的掌控感。 然而在游戏娱乐场景上, 我更欣赏 Windows 的理念: 当我想玩游戏放松一下时, 我希望 Windows 为我包办一切, 我要做的就是双击运行, 然后开始游戏。 Git 与 Linux 同源同宗, 亦是有着相似的理念, 其本身有着极为灵活的设计, Git 认为 : 用户知道自己在做什么, 并且会为自己的行为负责。 在开源领域