Git为非开发人员设置

时间:2009-10-22 21:52:45

标签: git

我正在努力在工作中引入git,为此我想最大化团队支持。

这对程序员来说不是问题(我们通常很高兴学习这样的新东西)但对于提交静态内容(如html,css等)的设计师和内容管理员而言的问题。他们几乎不能通过TortoiseSVN使用Subversion,所以我需要尽可能地简化git。这意味着某些概念必须以某种方式隐藏,例如索引,存储,合并,rebase,分支。

应该自动处理脏工作副本。

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

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

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

非常感谢任何可以用来简化git的东西。

5 个答案:

答案 0 :(得分:6)

基本上,你需要制作Git:

  • 对非技术用户透明
  • 由一位技术娴熟的“超级用户”管理

这意味着:

  • 一个中央Git仓库,每个设计师/内容经理都会推动(即使他们不知道)
  • 每天(通常在深夜)运行的脚本:
    • 监控中央“指令文件”(可以指示每个提交者工作站上的所述脚本更改分支,或更新.gitignore文件,或者......)
    • git add -Agit commit
    • git push
    • git pull(他们需要注意每天早上检查他们的工作区,以便考虑从中央仓库中抽取的新作品)
    • 将所有命令的结果写入专用文件(日期并以提交者命名,在中央共享目录中命名)

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

答案 1 :(得分:4)

我们有一些设计师使用GitExtensions处理git。它们没有任何问题,因为GitExtensions会在出现任何问题/冲突时自动执行所有操作,如存储,推送和警告用户。在启动时自动检查设置,并且没有太多可以做错的事情。一旦你习惯了推/拉/提交这个术语,就会比tortoisesvn容易得多。

答案 2 :(得分:2)

你说他们不会阅读教程,但也许你可以阅读这篇文章并向他们解释..

http://hoth.entp.com/output/git_for_designers.html

至于GUI,请看一下这些帖子:

https://stackoverflow.com/questions/157476/what-guis-exist-for-git-on-windows

https://stackoverflow.com/questions/83789/what-is-the-best-git-gui-on-osx

答案 3 :(得分:2)

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

  

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

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

答案 4 :(得分:1)

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

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

TortoiseSVN非常简单,听起来就像你的非技术用户真正需要的一样。如果他们搬到Git,他们会看到什么好处?

(只是一个注释 - 我真的不明白为什么你不能使用git-svn)