2009-10-22 62 views
13

我正在尝试在工作中引入git,并且要做到这一点,我希望最大限度地提高团队投入。非开发人员的Git安装程序

这不是程序员的一个问题(我们通常高兴地了解到这样的新东西),但它设计师和内容管理者谁犯像HTML,CSS等静态内容,他们可以勉强问题通过TortoiseSVN使用Subversion,所以我需要尽可能简化git。这意味着一些概念必须以某种方式隐藏,比如索引,存储,合并,重新分配,分支。

肮脏的工作副本应自动处理与存储。

此外,他们也无法使用命令行。他们也不会阅读任何指南或教程。

您可能想知道为什么我不坚持使用git-svn:这是因为设计师必须在合并到主干之前调整我创建的html/css。

所以问题是:有没有人与非开发人员一起使用git?你如何处理它?你的工作流程是什么?可以git-cvsserver对此有用吗?有没有自动存储的GUI?

任何可以用来简化git将不胜感激。

+0

你可以给他们写一堆可执行的脚本,他们只需双击执行常见的git任务,比如'git ci -a ...'这样的工作吗? – 2009-10-22 21:55:32

+3

原谅我可能不是太有帮助,但是......如果你处于任何权力地位:向他们解释这是他们工作的要求。事情发生了变化,技术也随之而来。指向他们在gitready.com或类似的,只是期望他们加快速度。 – rfunduk 2009-10-22 21:57:59

+1

我不想让你脱离混帐,但你有没有考虑过mercurial?它与svn非常相似(除了分布式的东西),还有TortoiseHg,它适用于win + linux。 – ebo 2009-10-22 22:00:24

回答

2
+0

谢谢。是的,我看到了这个教程,但他们没有机会使用命令行。此外,在那里列出的图形用户界面没有处理我的要求... – 2009-10-23 03:10:53

6

基本上,你需要做的Git:

  • 透明的,你非技术用户
  • 由一个技术性的Git精明的 “超级用户”

给予这意味着:

  • 一个中央的Git回购,每一个设计师/内容经理会推到(即使他们不知道它)
  • 脚本每天运行(通常在一夜之间):
    • 监控中央“指令文件”(可以指示每个提交者站点上的脚本更改分支,或更新文件或...)
    • git add -Agit commit
    • git push
    • git pull(他们需要知道每天早上检讨自己的工作区,以考虑从中央回购拉帐户的新作品)
    • 写的所有命令的结果在专用文件(日期和提交者的名字命名,在中央共享目录)

每天早晨,超级用户禾请检查是否所有推送都成功并解决冲突。他/她还将合并中央回购当地分支机构(包括每晚拉入的分支机构)的批准工作。
我也建议在共享目录中制作这些Git仓库(在提交者的工作站上),以便超级用户能够访问它们并在需要时直接操作它们。

2

我刚刚看到this question弹出。它提到了flashbake,它看起来是一组python脚本(你可以为设计者安装双击图标,就像建议的那样)来处理很多常见的git动作。我没有使用它,但它看起来可能比从头开始更好 - 如果你做了一些改进,它会在你的位置帮助其他人!从项目页面:

脚本的主要重点是为git生成丰富但自动的提交消息。其次,它可以自动管理一个git项目,这样一个对Flashbake的单一,不变的调用就可以处理最常见的git工作流,添加和提交文件。

我当然也认为VonC关于工作流程的建议包括很多超级用户的监督是这里答案的另一大部分。

1

为什么不让他们继续使用SVN,让更多的技术人员使用Git。

Git能够使用SVN存储库。因此,为设计人员保留SVN回购,并为开发人员提供git回购。如果需要,让专家用户管理两者之间的推拉。

TortoiseSVN非常简单,它听起来像是非技术用户真正需要的一切。如果他们转向Git,他们会看到什么好处?

(只是说明 - 我真的不明白,为什么你不能使用git-SVN)

+0

你说得很好,但我确实认为实际使用git有一些好处。从我的头顶来看,最相关的一点是它最终会提供更好的方式来跟踪单个设计师的工作,例如让他们轻松地进行增量式本地提交而不必将它们全部合并成某种东西稳定推向中央回购。 – Cascabel 2009-10-23 16:18:57

+0

我同意有没有让我错误的优势 - 就像你本地提交的例子。现在是他们真正想要的东西?他们会记得推动提交吗?我认为这是KISS可能适用的一个例子。 – sylvanaar 2009-10-23 17:09:58

4

我们用git使用GitExtensions工作的几个设计师。他们没有任何问题,因为GitExtensions自动执行所有的事情,比如存在任何问题/冲突时隐藏,推送和警告用户。设置在启动时自动检查,没有太多可以做错的事情。一旦你习惯了push/pull/commit这个术语,那么tortoisesvn就容易多了。

相关问题