我迷失了Git分支模型以及我想为我的团队(开发人员+设计师)创建的工作流程。
假设项目基于MVC模式,因此我们的结构类似于:
型号/
控制器/
意见/
开发人员适用于M&带有一些基本/生成视图的C部分(例如Rails,Django或CakePHP应用程序) 和设计师适用于V部分
我如何管理开发人员在M&amp; C上工作并保留一些基本的糟糕视图,同时,设计师根据开发人员逐步编码和添加的控制器操作制作性感视图? < / p>
我试图让它适用于3个分支:
主人(准备就绪)
开发
你好
但不知道设计人员如何处理 ui 分支可以将代码保存在/ views之外的其他地方更新一个正在运行的应用程序......
感谢大家的帮助!
答案 0 :(得分:8)
使用git,开发人员没有理由在单独的分支上工作或模拟视图。让设计人员和开发人员在同一个代码库中的同一个分支中工作。当视图完成(或至少改进并且不崩溃)时,设计者会提交并将它们推送到主存储库。对于开发人员来说也是如此:当本地更改“完成”时,让他们提交并推送它。
在推动之前,每一方都需要拉动(以确保没有冲突)。如果这两个组在相互排斥的代码段(单独的文件或甚至是相同文件的不同部分)中工作,那么pull将只是更新本地副本,并且一切都能正常工作。
有了这个,双方总能看到最新的代码库,并直接为确切的最终目标做出贡献,并观察它的发展。
答案 1 :(得分:4)
Git使用起来非常简单,没有理由每个人都不应该有自己的分支来解决问题。地狱,这是使用版本控制系统的主要原因之一。在Git中,提交很便宜。
通常情况下,我们有一个主人,任何正在处理更新或功能的人都会从主人那里分支并在需要时分支一个分支,然后一个发布主人(像我这样的人)会把它们全部合并起来。 ,检查冲突,测试发布并合并回主人。
当您处理它时,其他人可以通过对您的分支进行提取/拉动来接收您的更改以进行更改。
答案 2 :(得分:3)
Git并不神奇。它不会让您的设计人员使用开发人员主动编写的代码。开发人员仍然需要编写,测试和提交他们的代码,并将其推送到开发人员可以从中获取的地方。
通常,您将拥有一个“裸”存储库,所有各方都可以将其工作推送到可以共享的位置。其他人都把这项工作拉下来了。拉动开发人员的工作并将dev分支合并到ui分支可能是设计师的工作,例如:
git checkout ui
git fetch
git merge dev
答案 3 :(得分:0)
如果您真的想要执行分支和路径权限等内容,建议您结帐gitolite
这将允许您管理各种级别的访问。