一个小型开发和设计团队的Git工作流程

6
我对Git分支模型和我想为我的团队(开发人员+设计师)创建的工作流程感到迷茫。
假设该项目基于MVC模式,因此我们有类似于以下结构:
Models/ Controllers/ Views/
开发人员负责M&C部分,并具有一些基本/生成的视图(例如Rails、Django或CakePHP应用程序),而设计师则负责V部分。
如何管理开发人员在M&C上工作并保留一些基本的糟糕视图,同时设计师根据由开发人员逐步编码和添加的控制器操作创建性感视图?
我尝试使用3个分支来使其工作:
master(生产就绪) dev ui
但不知道在ui分支上工作的设计师如何更新/views以外的代码并使应用程序正常运行...
感谢您的帮助!
4个回答

8
使用git,开发人员没有必要在独立的分支上工作或者使用虚拟视图。设计师和开发人员可以在同一分支上、同一代码库中共同工作。当视图完成(或至少改进并且不崩溃)时,设计师将其提交并推送到主存储库。对于开发人员也是如此:当本地更改“完成”时,让他们提交并推送。

在推送之前,双方都需要拉取(以确保没有冲突)。如果两个小组正在互相排斥的代码片段(单独的文件甚至是同一文件的不同部分)中工作,则拉取将简单地更新本地副本,并且所有内容都将正常工作。

有了这个,双方始终可以看到最新的代码库,并直接为确切的最终目标做出贡献,观察其演变。

4
Git非常简单易用,没有理由不使用它来创建自己的分支。这是使用版本控制系统的主要原因之一。在Git中,提交代码非常便捷。
通常情况下,我们有一个主分支,任何需要更新或添加特性的人都会从主分支创建一个新的分支,如果需要的话再创建一个分支。然后一个发布管理员(例如我)会负责将所有分支合并回来,检查是否有冲突,测试发布并将其合并回主分支。
当你进行开发时,其他人可以通过对你的分支执行fetch/pull操作来获取你的更改。

3

Git并不神奇。它不能让你的设计师使用开发人员正在积极编写的代码。开发人员仍然需要编写、测试和提交他们的代码,并将其推送到开发人员可以从中拉取的某个位置。

通常情况下,你会有一个“裸”仓库,所有参与者在准备好分享时都将自己的工作推送到该仓库。其他人都会拉取这份工作。例如,设计师可能需要拉取开发者的工作,并将dev分支合并到ui分支中:

git checkout ui
git fetch
git merge dev

0

如果你真的想要强制执行分支和路径权限之类的东西,我建议你检查一下gitolite

这将允许你在各种级别上管理访问权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接