【问题标题】:Best git workflow for a team of developers and designers开发人员和设计师团队的最佳 git 工作流程
【发布时间】:2011-10-30 11:54:47
【问题描述】:

我们将使用 MVC 框架开发一个 webapp。我们的团队中有开发人员和设计师。我们想使用 git。设计师有什么办法只能看到项目的一些目录? (意见)。我不希望设计人员查看并意外更改视图以外的其他文件。

【问题讨论】:

  • 我的意思是,是否可以在 git 中隔离一些目录?我不希望所有人都克隆并获取所有代码(M、V 和 C 部分)。设计人员必须只取 V 部分并推送到可以测试集成代码的开发服务器。

标签: git model-view-controller workflow


【解决方案1】:

其中一个可能的选项是使用Git subtrees(或子模块,但我个人不喜欢它们,请参阅链接问题了解原因列表)。将视图放入单独的 Git 存储库中,并将其作为子树拉到开发人员主存储库中,设计人员无法访问。

或者将所有内容保存在一个 repo 中,但在 pre-commit 挂钩中(和/或在服务器上的 pre-receive 挂钩中,如果您偏执的话)拒绝设计师用户对 M 和 C 部分的任何提交。

你也可以用Git做稀疏结账,但我个人认为其他两种方案更实用。

【讨论】:

    【解决方案2】:

    为代码和设计人员创建两个不同的存储库。您也可以使用Submodules 将子项目分组并一起跟踪它们;但我没有用过,所以我不能给出任何具体的提示。

    另一方面,如果您采用“git 风格”的方式设置存储库(例如,每个用户都有自己的存储库私有公共镜像;每个人都有读取权限,但只有所有者有写入权限。并且如果你愿意,一个规范的(主/主干)回购,如果你想要只有受信任的开发人员有写访问权限)意外修改应该不是一个大问题。在将其合并到“规范”主分支之前,您可以从设计师回购中提取并查看它是否有意义并纠正错误。

    【讨论】:

    • 你的意思是 git 子模块吗?我对 git 比较陌生。我一直在寻找一种隔离代码的方法。
    • 如果项目的每个部分都可以单独编译/部署(可能是使用 Ruby on Rails 或 PHP),您甚至不需要使用子模块将它们组合在一起。如果子部分必须一起编译(使用 maven 时可能是这种情况),您可能应该查看子模块)。这取决于... :)
    猜你喜欢
    • 2011-05-19
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多