如何同步多个 git 远程仓库

在本地 git 仓库里找到这个文件  .git/config, 内容如下:

改为如下:

合并 2 个 remote 配置

Continue reading "如何同步多个 git 远程仓库"

【转】在阿里做了五年技术主管,我有话想说

背景

互联网公司的技术团队管理通常分为2个方向:技术管理和团队管理,互联网公司的技术TL与传统软件公司的PM还是有很大的区别,传统软件公司的PM更多注重于对项目的管理包括项目任务拆解、项目进度以及风险等。对于多数互联网公司而言,技术TL更多的职责不再局限于项目角度,而是对业务与技术都要有深入的了解,就像黑夜里的灯塔,能够引导和修正团队成员前进的航向。综合技术和业务角度去深度思考问题,具备一定的前瞻性,并在技术领域投入持续的学习热情,向团队成员传道,补齐短板,提高整个团队的战斗力。

技术TL职责不仅需要制定日常规范,包括开发规范、流程规范等,推动规范的落地,以公有的强制约定来避免不必要的内耗,另外一多半的时间可能花在了开发任务分解分配、开发实践、技术架构评审、代码审核和风险识别上,剩余的时间则花在为了保障系统按时交付所需的各种计划、协作、沟通、管理上。

管理大师彼得·德鲁克说:“组织的目的,就是让平凡的人做出不平凡的事。”然而,不是任何一群平凡的人聚集到一起,都能做出不平凡的事。甚至一群优秀的人聚集到一起,也可能只是一个平庸的组织。大到一个国家,小到一个团队,任何一个卓越的组织,都必须有一个卓越的领导者。领导者是一个组织的灵魂,领导者在很大程度上决定了组织所能达到的高度。

阿里有句土话“平凡人、非凡事”,技术团队同样如此,管理者的战略眼光、管理方法、人格魅力等,都会给团队的工作结果带来决定性的影响。

其实每个公司、每个团队的背景不太一样,从管理学的角度探讨一些问题,没有统一标准的答案,本文中一些观点仅是个人观点,更多从我个人成长为技术TL一些观点理念,同时我也是吸取了前辈们一些优秀的管理理念,包括我最为尊敬的通用电气CEO杰克·韦尔奇、苹果CEO乔布斯、Intel CEO格鲁夫,国内我最推崇的技术管理者robbin(丁香园的技术副总裁)。 Continue reading "【转】在阿里做了五年技术主管,我有话想说"

git清理历史记录中的大文件

查看哪些历史提交过文件占用空间较大

使用以下命令可以查看占用空间最多的五个文件:

rev-list命令用来列出Git仓库中的提交,我们用它来列出所有提交中涉及的文件名及其ID。 该命令可以指定只显示某个引用(或分支)的上下游的提交。

--objects:列出该提交涉及的所有文件ID。

--all:所有分支的提交,相当于指定了位于/refs下的所有引用。

verify-pack命令用于显示已打包的内容。 Continue reading "git清理历史记录中的大文件"

如何激励项目团队成员前进,防止成员抱团怼项目经理的情况发生?

老师参考答案:

首先分析问题的根源,为什么项目团队成员会对项目经理不配合,甚至发生互怼的情况?

一、新任项目经理还没有梳理威信:如果是由于项目经理新上任还没有树立威望,那么可以通过团建、访谈的方式建立与团队的信任,并且通过自身的领导能力树立威望。

二、之前发生过矛盾:如果是由于项目经理与团队成员发生过矛盾,造成间隙,那么项目经理作为团队的领导者,应该开诚布公地就之前的问题进行坦诚的交流,对事不对人,矛盾双方要争取达成谅解。

三、团队中有刺头不服管:如果是这个情况,项目经理应该先私下与不服管的成员进行对话,避免公开矛盾,这样会损害项目经理的威信,如果没有改善,那么项目经理必须寻找机会将刺头清出团队,避免对团队造成破坏性的影响。

TIM截图20180302094804.jpg

Continue reading "如何激励项目团队成员前进,防止成员抱团怼项目经理的情况发生?"

Gitlab库已损坏前端显示500错误解决方法:remote: fatal: loose object xxx is corrupt

今天团队小伙伴们在git push的时候报错:

咋一看吓一跳,数据文件坏掉啦?!赶紧搜索了一下,以下是解决方案。

Continue reading "Gitlab库已损坏前端显示500错误解决方法:remote: fatal: loose object xxx is corrupt"

团队成员不配合,不把项目经理当回事怎么办?

  老师参考答案:

  作为项目经理,要能够展现自身的价值

  从团队成员角度出发,他们一方面希望项目经理能够帮助他们解决困难、排除障碍;另一方面又不希望项目经理过度控制、束缚手脚,

  我们就可以从这两方面着手

  例如我们可以和团队成员沟通,了解他们在工作中遇到的困难(如技术类、协作类),并协调相关资源予以解决

  而在监管部分,项目经理需要结合实际情况,适当程度的“抓大放小”,例如每周五下午召开半小时左右的周例会,会议的主题是本周的计划执行情况、下周的计划内容、存在的风险和问题,让每个人都知道项目的实际情况 Continue reading "团队成员不配合,不把项目经理当回事怎么办?"

讨论问题:团队绩效考核如何制定?如何设置奖惩?

从企业、组织角度来看,团队绩效是以团队的项目绩效作为基础。而确定项目绩效,要在项目开始之前先确定项目绩效目标,待项目结束时来评估是否达成了既定的绩效目标。首先,企业应该建立完备的组织级绩效考核体系,从项目立项开始如何预评估,在面对项目过程中各种情况是否需要奖惩,以及在结项时的最终评价,都是需要针对不同行业、不同企业文化进行客制化分析。举个例子,某甲方企业的项目绩效管理方式是这样的:在立项阶段会按照项目需求的战略意义、技术实现难度、工作量等条件因素,由专家组进行匿名评价,确定项目积分;在项目进行过程中,根据项目是否按规定按时交付产品、代码质量、测试缺陷率、上线运行质量等多种因素进行考评,在项目结项时依据项目的CPI、客户满意度等进行最终评估,得到项目最终绩效积分。到年底的时候团队绩效就是把当年所有项目的积分累加,按照排名转化为绩效奖金。这样的绩效考核机制能够激励团队既能保证多劳多得,又有对过程质量的要求,是一种正向的引导方式。 Continue reading "讨论问题:团队绩效考核如何制定?如何设置奖惩?"

极限开发与敏捷开发

一、简介

2001年,为了解决许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值 观和原则,他们称自己为敏捷联盟。敏捷开发过程的方法很多,主要有:SCRUM,Crystal,特征驱动软件开发(Feature Driven Development,简称FDD),自适应软件开发(Adaptive Software Development,简称ASD),以及最重要的极限编程(eXtreme Programming,简称XP)。极限编程(XP)是于1998年由Smalltalk社群中的大师级人物Kent Beck首先倡导的。 Continue reading "极限开发与敏捷开发"

常见软件开发模型对比:瀑布、迭代、螺旋、敏捷

一、瀑布模型

模型说明
瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。

核心思想:瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

重要地位:它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值。

 

模型优点

1、为项目提供了按阶段划分的检查点。
2、当前一阶段完成后,您只需要去关注后续阶段。
3、可在迭代模型中应用瀑布模型。
4、它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
 

模型缺点

1、各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3、通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4、瀑布模型的突出缺点是不适应用户需求的变化。

Continue reading "常见软件开发模型对比:瀑布、迭代、螺旋、敏捷"