如何让工业企业获得真正的实惠
|
其一,项目变大了,团队的人员变多了,提交的分支越来越多,而且每个人 commit 之后都要合并到主分支,整个 git 分支图看起来烂七八糟,不利于维护和管理。(如上图所示) 其二,项目中充斥着各种各样的 commit ,如果有一天,出现了紧急的事件,需要回滚代码,发现这大量的 commit 需要一条条的看,让你看到怀疑人生。
以上两个理由完全可以让我放弃传统的提交合并,使用变基模式提交的代码就显的格外的清晰。(如下图) 以上盖楼的例子虽然不是太符合项目中团队合作使用 GIT 变基,为了让大伙儿先有个大体的印象。 2、为什么使用变基?
一般我们团队合作使用 GIT 版本控制,每个人在自己分支上开发,最后负责人把每个人开发的分支 merge(合并) 到总分支上就可以了,又出了个变基模式,是干嘛的? 最近不咋在状态,一直没有写技术文。今天爬上来主要和大伙儿唠唠 GIT 的变基模式(rebase)。 第一次在团队合作项目中用到和学习到变基模式,是老大教科书般手把手教我的,通过项目中的不断运用,总结出一些自己的使用和看法。 GIT 本身对于一些初学者理解的不是这么好,对我个人来说,一开始一些基本概念在刚接触的时候,并不能通透的理解,只有当将这些概念放到实践形成自己的理解,才能知道这个概念原来是这个意思,以及这个命令是这个样子的。 所以,小鹿尽可能的多画图,少废话,便于对 GIT 理解不够透彻的朋友能够提供一些帮助。 1、什么是变基(rebase) 变基,我们可以理解为基低的意思。就像盖楼一样,一层层的向上盖,最下面是地基,我们把盖的每一层称为基。 (为了更好的理解,就拿上述盖楼为例) 假如,我们的楼层盖好了,共18层,需要多个装修工去每一层进行装修。我的装修团队一共有三个人,分别为A、B、C。 A 负责第一层,B 负责第二层,C 负责第三层。按照正常的逻辑,三个人谁提前装修完自己的那一层,谁就要到第四层进行装修。
但是有个问题就是,假如 B 第二层也装修完毕,但是 B 不知道其他两个人的最新进度,所以需要通过某种方式,把自己当前的进度更新到最新(B 应该知道下一步该装修第几层),才能继续在其他两人的进度基础上继续装修。 可以看到,我们在程序中通知处于等待状态的线程时,使用的是notifyAll()方法而不是notify()方法。那notify()方法和notifyAll()方法两者有什么区别呢? notify()和notifyAll()的区别
随机通知等待队列中的一个线程。
通知等待队列中的所有线程。
在实际工作过程中,如果没有特殊的要求,尽量使用notifyAll()方法。因为使用notify()方法是有风险的,可能会导致某些线程永久不会被通知到! (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
