我们已经在我工作的地方介绍了Git,自然就会遇到阻力。这是一个新项目,因此我们现在维护两个存储库。
问题的一部分是,当人们一直在使用适合自己的SCM时,人们不会看到切换到其他SCM的好处。当我们与团队坐下来进行为时一小时的会议时,它会有所帮助,我们将仅展示项目中的用例以及Git如何使其变得更加容易。例如,帮助我们的事情:
- 当地分支机构鼓励实验
- Git bisect可轻松跟踪错误
- 频繁提交而不会干扰他人
- 在分支之间快速切换
所有这些解决了我们以前的SCM遇到的一个问题,因此人们可以更加欣赏Git。
另一件事是,您不能指望人们会去阅读有关它的书,因为很少有人会这样做。也许他们需要完成工作,承担其他责任或其他各种原因。
因此,作为“ Git专家”,您必须坐下来并使人们尽可能容易地使用它。他们希望编写代码,而不是弄乱他们的SCM系统。
Git的CLI是一个隐秘的问题,对您和我来说都是微不足道的问题,它们会阻止人们工作。这是我们团队发生的事情(请注意,这些都是相当称职的开发人员):
- Windows上使用SSH的Git是一个常见问题。
- 人们会拉动,合并,但不会推动合并。因此,该图将是一个混乱的巨大混乱
- Windows上的性能问题使“ git status”需要15秒
- 无法弄清楚如何拉新分支。他们将执行“ git checkout -b”,它将分支出他们正在处理的内容
- 蚀中的EGit有一个压倒性的菜单。最终告诉所有人首先使用命令行
- 基于上一项,合并并设置git mergetool
- 对“ git add”,“ git commit”和“ git push”之间的差异感到困惑。
我们仍然会遇到阻力,但是人们肯定会看到好处。至关重要的是,要有一些Git员工进行指导并愿意提供帮助。而且我会避免教一些很酷的事情,例如reset / rebase /-amend / etc。因为大多数人会像SVN一样使用Git,所以如果愿意,最好让他们发现它。