Version control 混合角色小型团队的DVCS策略?

Version control 混合角色小型团队的DVCS策略?,version-control,workflow,roles,plasticscm,Version Control,Workflow,Roles,Plasticscm,我已经读了很多书,并且一直在测试GIT、GIT-Tortoise、Tortoise SVN和PlasticSCM,以便为我们的小团队(5-10个用户)找到合适的源代码管理 我们团队的一些背景:6名文案撰写人/编辑(2名远程),2名开发人员,2名图形设计师。我们并不总是一起做项目,有时我们中可能有多达5个人在做一个给定的项目。我对使用DVC的开发人员并不关心,我关心的主要是那些(以最好的方式)技术能力有限的其他角色。我们的一些拷贝编写器将多个源文件(HTML、PDF和添加概念图)更新到实时的、未版

我已经读了很多书,并且一直在测试GIT、GIT-Tortoise、Tortoise SVN和PlasticSCM,以便为我们的小团队(5-10个用户)找到合适的源代码管理

我们团队的一些背景:6名文案撰写人/编辑(2名远程),2名开发人员,2名图形设计师。我们并不总是一起做项目,有时我们中可能有多达5个人在做一个给定的项目。我对使用DVC的开发人员并不关心,我关心的主要是那些(以最好的方式)技术能力有限的其他角色。我们的一些拷贝编写器将多个源文件(HTML、PDF和添加概念图)更新到实时的、未版本的构建目录(备份为build.23.06.11.new.new.final.zip!)。copy和GD团队没有时间,或者坦率地说,没有倾向于合并/解决冲突,甚至可能没有记住切换分支

一些这样的问题揭示了一种似乎相当一致的方法——主干(主干中没有垃圾!),团队有自己的分支,发布分支等等

每次我重读链接

…总体而言,我还是会问自己同样的问题:

  • 为“麻烦点”(复制团队)创建特定于角色的分支是一个坏主意吗?在那里,他们可以推送到repo,然后我们的开发人员将他们的工作合并到实际的项目分支中
  • 我是否仍应尝试为其他每个分支强制执行一项任务
  • 我是否应该为每个分支执行任务,但让复制团队创建非常广泛的任务
  • 通常是否有一个团队/团队/人员被视为回购的“管理”角色,负责关键的合并
  • (是否有其他建议的工作流程,复印作者不接触源?)
  • 不幸的是,在开发过程中,复制团队在更新文件方面扮演着至关重要的角色,而文件更新反过来又会影响布局和各种各样的事情。这不像我能在项目结束前让他们处于一个泡泡中,然后放弃他们的工作

    。。。好消息是,希望在若干年后,我已经准备好迫使每个人转向版本控制!我们还选择了PlasticSCM,因为它具有直观的GUI和Windows集成

    这个问题的最佳答案是尝试回答上面的4点-如果你愿意,解决第5点-如果可能,解释弱点,并提供建议,gotchyas等


    干杯

    所以,基本上你想知道如何让不同技能水平的团队成员使用SCM,并彼此友好相处

    优先考虑你的团队的支持。如果你不能让他们学习,那么你就只能提供一条阻力最小的道路。所以你真的需要灵活变通。使用该工具可能有一种错误的方式和一种正确的方式,但如果用户不接受正确的方式,那么错误的方式总比他们根本不使用它要好。对于每个团队来说,如何实现这种平衡将是不同的

    为“麻烦点”(复制团队)创建特定于角色的分支是一个坏主意吗?在那里,他们可以推送到repo,然后我们的开发人员将他们的工作合并到实际的项目分支中

    不,也许这不是最佳的,但如果这让复制团队变得容易,那么这就是你剩下的。您可以更进一步,为每个用户设置自己的分支。这样他们就不必担心合并其他民族的变化

    我是否仍应尝试为其他每个分支强制执行一项任务

    每个开发人员都应该有一个唯一的“本地”分支,该分支不跟踪上游分支。例如,使用一些通用的东西,比如
    mydev
    。这使得他们很容易在本地代码和当前上游分支之间切换

    您不一定需要强制每个人为每个任务创建一个本地分支,因为最终,您会希望他们将其工作分支重新设置为上游分支,然后提交,这样它就变成了一个快进(即线性提交)

    现在,对于多个开发人员正在处理的任务,或者这是一个涉及较小提交组的功能,那么强制他们创建新的特定任务分支是有意义的。当它们合并时,它们可以确保强制合并提交,然后很明显,一组提交被分组在一起,并且所有提交都是特定任务的一部分。合并提交将显示为
    合并分支功能-X

    我是否应该为每个分支执行任务,但让复制团队创建非常广泛的任务

    这实际上取决于你能从复制团队得到多少购买。我认为,如果他们真的对DVCS工具感到困惑,那么你必须缩小规模,直到你能找到一些不会造成太大影响的工具

    一个解决方案是让您的一个开发人员帮助将复制团队的更改集成到其他人将看到的另一个分支中。这将有助于将工具的学习曲线转移到复制团队之外的人身上

    通常是否有一个团队/团队/人员被视为回购的“管理”角色,负责关键的合并

    是的,这是有道理的。然而,SCM最棒的一点是,每个人都可以返回并对合并进行代码检查。因此,如果合并破坏了代码,您可以在合并后追加更正,或者删除合并,然后重新执行

    (是否有其他建议的工作流程,复印作者不接触源?)

    嗯,一种可能的技术是模型。开发人员将更改提交到他们自己的共享回购,但要将更改合并到存储库中,这取决于集成经理

    我相信还有其他方法可能适合您的用户,但这个问题有点含糊不清。

    ,也许您可以花时间解释一下