Git 当设计者能够';你不能访问所有来源吗?

Git 当设计者能够';你不能访问所有来源吗?,git,version-control,Git,Version Control,我想在我们的工作中应用版本控制系统,但有一些困难,因为图形设计师应该只能访问视图模板(smarty)和CSS/JS,所以他不能设置web应用程序的本地副本 应用程序将这些元素拉到一个名为/front的目录中/ 当前情况如下: 主要开发人员:在工作站上拥有apache服务器,他90%使用PHP 第二个开发人员:有时通过本地网络(更改主开发人员机器上的文件)工作(很少更改) 设计师:在家里工作,有自己的独立域和站点克隆(让我们称之为designerworkarea.com),只通过FTP访问模板和c

我想在我们的工作中应用版本控制系统,但有一些困难,因为图形设计师应该只能访问视图模板(smarty)和CSS/JS,所以他不能设置web应用程序的本地副本

应用程序将这些元素拉到一个名为/front的目录中/

当前情况如下:

主要开发人员:在工作站上拥有apache服务器,他90%使用PHP

第二个开发人员:有时通过本地网络(更改主开发人员机器上的文件)工作(很少更改)

设计师:在家里工作,有自己的独立域和站点克隆(让我们称之为designerworkarea.com),只通过FTP访问模板和css

开发/部署如下所示:

主要开发人员在他的机器上编写并测试所有PHP,然后通过FTP将源代码放到主生产服务器(我们称之为procitionArea.com)

Designer“通过FTP”处理文件,每项更改都需要上传,并可在designerworkarea.com上查看

要部署前端,服务器上的管理员将视图模板从/server/designerworkarea.com/front复制到/server/proctionarea.com/front(designerworkarea和productionea位于同一台unix计算机上)

当然,有一些同步(每天1-2个),因为主要开发人员需要向应用程序前端添加新的元素/模板,这些元素/模板由设计师设计

正如你所看到的,这真是一团糟。当任何人都可以拥有自己的具有完整源代码的LAMP堆栈时,就不会有问题了——但设计师不能访问除front之外的目录——所以他不能在本地机器上设置此web应用程序

用GIT组织这种工作环境的最佳方式是什么?

注1:设计师应该有可能立即看到他的更改,但不能“通过提交”,因为在完成一些应立即提交的少量工作之前,可能会有很多尝试。我们不希望每天有成百上千的提交


注2:任何时候都可能在视图模板中发现错误,这需要开发人员的干预。

如果您需要让您的设计师随时看到他/她的工作结果,最好利用git的“分布式”特性,并使用您的repo克隆:

  • 作为设计师推送到的暂存区
  • 作为部署“暂存”网站的源(仅由设计者可见)
这将允许设计师:

  • 进行数十次提交,直到给定功能正确地显示在登台网站上每个提交上监视和部署的分支上
  • (在(或到)一个特殊的分支中,开发人员可以从该分支中获取最新的设计(而无需获得所有中间提交)
要点是:对于DVCS(比如Git),您不必只使用一个repo进行同步,您可以使用多个repo,每个repo具有不同的角色