Git指南-08进阶 4:Feature Branching:最流行的工作流

  |   0 评论   |   216 浏览

在前面的《上手 2》这一节里,我介绍了一种最基本的团队工作模型。在这种模型里,所有人都工作在 master 上,写完了的 commit 可以通过 push 来发送到中央仓库,并且可以使用 pull 来获取到别人的最新 commits。

这种工作模型解决了团队合作最基本的问题:多人并行开发和版本管理。事实上,这也是早期的 VCS——中央式 VCS 的工作模型。

但这种工作模型也有它的限制:使用这种工作模型时,每个人的代码在被大家看到的时候,就是它进入正式的生产库的时候。所有人的工作都会被直接 pushmaster,这导致每个人的代码在正式启用前无法被别人看到(严格来讲是有办法的,别人可以直接从你的电脑上 pull ,Git 的「分布式」不是说说的。但——这种做法超级不方便),这样就让代码在正式启用前的讨论和 review(审阅)非常不方便。现在的商业团队,开发项目多是采用「边开发边发布、边开发边更新、边开发边修复」的持续开发策略,所以代码分享的不便会极大地影响团队的开发效率。

Git指南-06进阶 2:push 的本质

  |   0 评论   |   261 浏览

在之前的内容里,我粗略地说过,push 指令做的事是把你的本地提交上传到中央仓库去,用本地的内容来覆盖掉远端的内容。这个说法其实是不够准确的,但 Git 的知识系统比较庞大,在你对 Git 了解比较少的时候,用「上传本地提交」来解释会比较好理解;而在你知道了 branch,并且明白了 branch 的具体含义以后,我就可以告诉你 push 到底是什么了。

Git指南-04团队工作的基本工作模型

  |   0 评论   |   366 浏览

对于 Git 来说,团队合作和个人独立工作最大的不同在于,你会提交代码,别人也会提交;你会 push,别人也会 push,因此除了把代码上传,每个人还需要把别人最新的代码下载到自己的电脑。而且,这些工作都是并行进行的。

这就很复杂了!

这节的内容,就是简单阐述一下团队合作中 Git 的基本工作模型。

Git指南-03新公司用 Git 管理代码,怎么快速上手?

  |   0 评论   |   362 浏览

刚进入新公司,被告知团队是用 Git 管理项目代码的,而你却从来没用过 Git。纵然同事告诉你「没事,先自学一下」「有问题可以问我」,但你肯定不想一进公司就花太多时间在自我学习上,也不想过多地打扰这些刚认识的同事。怎么办?

对你来说,最重要的是,先知道 Git 怎么用。先把最基本的掌握了,至于正规团队使用 Git 有什么额外要求、Git 有什么高级用法、Git 的原理这些,都可以放在这之后。万事开头难,你先把 Git 最基本的使用掌握了,后面的再一步一步来。

Git指南-02什么是分布式版本控制系统(DVCS)

  |   0 评论   |   268 浏览

分布式 VCS (Distributed VCS / DVCS)和中央式的区别在于,分布式 VCS 除了中央仓库之外,还有本地仓库:团队中每一个成员的机器上都有一份本地仓库,这个仓库里包含了所有的版本历史,或者换句话说,每个人在自己的机器上就可以提交代码、查看历史,而无需联网和中央仓库交互——当然,取而代之的,你需要和本地仓库交互。

中央式 VCS 的中央仓库有两个主要功能:保存版本历史同步团队代码。而在分布式 VCS 中,保存版本历史的工作转交到了每个团队成员的本地仓库中,中央仓库就只剩下了同步团队代码这一个主要任务。它的中央仓库依然也保存了历史版本,但这份历史版本更多的是作为团队间的同步中转站。

Git 指南-01什么是版本控制系统(VCS)

  |   0 评论   |   292 浏览

很多人认为 Git 难以理解的第一个门槛在于:所谓的「Git 是一个分布式版本控制系统」这句话的具体含义不够清楚。其实分布式版本控制系统(Distributed Version Control System - DVCS)这个定义并不难,不过一步一步来,我先告诉你,什么是版本控制系统(Version Control System - VCS)。

50 | 架构实战:架构设计文档模板

  |   0 评论   |   289 浏览

在前面的专栏里,有同学留言说想看看具体的架构设计文档。由于信息安全的原因,再加上稍微复杂的系统,设计文档都是几十页,因此专栏无法直接给出详细的文档案例。但我认为提供一个架构设计文档模板还是很有必要的,可以方便你在实际进行架构设计的时候更好地编写相关文档。我还以前面讲过的“前浪微博”消息队列为例,给出架构设计中最重要的两个文档的模板和关键说明。这个案例文档仅给出一些关键内容供你参考,部分细节无法全面覆盖或者完全保证正确。

49 | 谈谈App架构的演进

  |   0 评论   |   291 浏览

专栏截止到上一期,架构设计相关的理念、技术、实践已经基本讲完,相信你一路学习过来会有一种感觉,这些内容主要都是讲后端系统的架构设计,例如存储高可用、微服务、异地多活等,都是后端系统才会涉及。事实上确实也是如此,通常情况下我们讲架构设计,主要聚焦在后端系统,但这并不意味着App、前端就没有架构设计了,专栏所讲述的整套架构设计理念,虽然是来源于我的后端设计经验,但一旦形成完善的技术理论后,同样适应于App和前端。